Testing
speedtest-cli:ValueError:int()的無效文字,基數為10:''
在 3 台機器上,我得到:
$ speedtest-cli Retrieving speedtest.net configuration... Traceback (most recent call last): File "/usr/bin/speedtest-cli", line 11, in <module> load_entry_point('speedtest-cli==2.1.2', 'console_scripts', 'speedtest-cli')() File "/usr/lib/python3/dist-packages/speedtest.py", line 1986, in main shell() File "/usr/lib/python3/dist-packages/speedtest.py", line 1872, in shell speedtest = Speedtest( File "/usr/lib/python3/dist-packages/speedtest.py", line 1091, in __init__ self.get_config() File "/usr/lib/python3/dist-packages/speedtest.py", line 1173, in get_config ignore_servers = list( ValueError: invalid literal for int() with base 10: ''
我已經在兩個不同的網際網路連接上測試了其中一台機器,結果相同。
為什麼它不起作用?
從這個 speedtest-cli Pull Request中,我收集到 speedtest 站點在他們的 API 給出的響應中改變了一些東西。查看 PR 中的第一次送出,只需要在 speedtest.py 中修改一行即可。
如果您使用的是 Ubuntu 或類似系統,並且文件位於輸出中顯示的位置,則可以使用以下方法修復它:
## Backup original code sudo gzip -k9 /usr/lib/python3/dist-packages/speedtest.py ## Make the line substitution sed -i "s/^ map(int, server_config\['ignoreids'\].split(','))$/ map(int, (server_config['ignoreids'].split(',') if len(server_config['ignoreids']) else []) )/" /usr/lib/python3/dist-packages/speedtest.py
編輯:最終更新檔位於https://github.com/sivel/speedtest-cli/commit/cadc68,並在v2.1.3中發布。它對於一個簡單的單行 sed 命令來說太複雜了,但是您仍然可以自己手動應用它。或者您可以嘗試自己下載該版本的 speedtest.py 文件:
sudo gzip -k9 /usr/lib/python3/dist-packages/speedtest.py sudo wget https://raw.githubusercontent.com/sivel/speedtest-cli/v2.1.3/speedtest.py \ -O /usr/lib/python3/dist-packages/speedtest.py
(同樣,您應該仔細檢查 speedtest.py 文件的位置。上述位置似乎對 Ubuntu 很常見,但並非適用於所有版本的 Unix/Linux。)