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: ''
두 개의 서로 다른 인터넷 연결에서 컴퓨터 중 하나를 테스트했는데 동일한 결과가 나왔습니다.
왜 작동하지 않나요?
답변1
이 speedtest-cli에서풀 리퀘스트, 속도 테스트 웹사이트의 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의 모든 버전에서 나타나는 것은 아닙니다.)
답변2
다음 두 명령을 사용하여 작동하게 했습니다.
sudo apt install python-pip -y && sudo pip install speedtest-cli
답변3
이 문제는 다음을 통해 해결될 수 있습니다.
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
답변4
저는 이것을 Raspbian(Raspberry Pi)에서 사용하고 있으며 제 경우에는 사용자의 Python 설치 사이트 패키지를 난독화했습니다.PI그리고뿌리(스도). 이 명령은 잘 작동합니다.
$ speedtest-cli --simple
하지만
$ sudo speedtest-cli --simple
항상 충돌합니다. speedtest-cli-2.1.3
사용자 버전이 있기 때문입니다.PI그리고 speedtest-cli-2.1.2
뿌리를 위해.
cron 작업에서 이 명령을 사용하고 있으므로 명령은 항상 루트로 실행되고 충돌이 발생합니다. 이 문제를 극복하기 위해 패키지를 명시적으로 업그레이드해야 했습니다.
$ sudo pip install --upgrade speedtest-cli
아마도 이것은 다른 사람들에게도 효과가 있을 것입니다.