我正在尝试使用 pip 安装speedtest-cli
,但出现了speedtest-cli
未安装的错误。
ubuntu@vostro:~$ pip install --user speedtest-cli
Collecting speedtest-cli
Using cached https://files.pythonhosted.org/packages/61/8b/58d1de9a7fff3e91c5ab956ab4ba72b49f42d9f73d5f3e248c740dfcc816/speedtest_cli-2.1.1-py2.py3-none-any.whl
Installing collected packages: speedtest-cli
Successfully installed speedtest-cli-2.1.1
ubuntu@vostro:~$ speedtest-cli
-bash: /usr/bin/speedtest-cli: No such file or directory
但speedtest-cli
已正确安装并且我可以通过在该文件夹中/home/ubuntu/.local/lib/python2.7/site-packages
运行它。python speedtest.py
所有这些文件夹都属于用户ubuntu
,但我认为问题在于 py 和 pyc 文件不可执行。(默认情况下它们不可执行,我没有更改任何内容)
ubuntu@vostro:~/.local/lib/python2.7/site-packages$ ll
total 132K
drwxrwxr-x 2 ubuntu ubuntu 4,0K jun 02 2019 23:55 speedtest_cli-2.1.1.dist-info
-rw-rw-r-- 1 ubuntu ubuntu 1,2K jun 02 2019 23:55 speedtest_cli.py
-rw-rw-r-- 1 ubuntu ubuntu 62K jun 02 2019 23:55 speedtest.py
-rw-rw-r-- 1 ubuntu ubuntu 590 jun 02 2019 23:55 speedtest_cli.pyc
-rw-rw-r-- 1 ubuntu ubuntu 56K jun 02 2019 23:55 speedtest.pyc
这是输出python -m site
ubuntu@vostro:~/.local/lib/python2.7/site-packages$ python -m site
sys.path = [
'/home/ubuntu/.local/lib/python2.7/site-packages',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/usr/lib/python2.7/lib-old',
'/usr/lib/python2.7/lib-dynload',
'/usr/local/lib/python2.7/dist-packages',
'/usr/lib/python2.7/dist-packages',
]
USER_BASE: '/home/ubuntu/.local' (exists)
USER_SITE: '/home/ubuntu/.local/lib/python2.7/site-packages' (exists)
ENABLE_USER_SITE: True
我认为问题与环境属性有关,但看着那个输出,我不再那么确定了。
答案1
您已在同一终端会话中从系统范围安装转移到应用程序的本地化用户安装,而无需更新其环境。
您的终端正在记住系统范围的安装路径/usr/bin/...
并尝试运行该路径。
您需要关闭终端会话并重新连接以获取新的环境和$PATH
内容。
(如果有更好的方法直接从命令行执行此操作,我很想知道。)