[英]How to install Python dependency properly? (maybe without sudo?)
我正在尝试使用 python 运行一些代码。 它正在使用tweepy库。 然后,我得到了这个错误:
Traceback (most recent call last):
File "script.py", line 1, in <module>
import tweepy
ImportError: No module named 'tweepy'
因此,我尝试安装依赖项: pip install tweepy
并获得权限被拒绝:
ERROR: Could not install packages due to an EnvironmentError: [Errno 13] Permission denied: '/usr/local/lib/python2.7/dist-packages/sockshandler.py'
Consider using the `--user` option or check the permissions.
接下来要做的是使用sudo
运行。 我对 docker 使用sudo
的体验很糟糕,因为它会在我的本地创建受保护的文件。 但是我最终还是尝试了sudo pip install tweepy
它返回成功,但是当我尝试运行python3 myscript.py
时仍然遇到相同的错误
但是,我看到一些升级 pip 的警告,所以我想也许就是这样。 I tried to upgrade pip using both pip install --upgrade pip
and sudo pip install --upgrade pip
仍然没有工作..我尝试了最后一个技巧。 换个终端。 我想,“也许安装后,这个终端上没有运行一些环境变量”
没有。 不工作。 我承认这应该是一个新手问题。 在 web 上尝试了一些解决方案,但仍然无法正常工作。 谢谢。
如果你使用python3,你应该使用pip3,pip很可能是python2 pip。
但是,更好的是使用python3 -m pip install tweepy
以确保您将 pip 用于您的特定 python 版本。
您也可以将其安装为没有 sudo 的用户,仅用于您的本地帐户: python3 -m pip install --user tweepy
查看错误信息:
... Permission denied: '/usr/local/lib/python2.7 ....
您在 python2 安装中安装了 tweepy。 请改用pip3 install tweepy
。 当您再次收到权限被拒绝的错误时,可能使用 sudo 。 之后,您可以使用 go
python3 myscript.py
使用--user
标志,像这样......
pip|pip3 install <PACKAGE> --user
这会将其安装在您的用户可用且可写的位置
请参阅https://packaging.python.org/tutorials/installing-packages/#installing-to-the-user-site
您似乎在机器上安装了 2 个 python。 Python 3.x 和 Python 2.7。 当您运行pip
命令时,别名指向pip2
,它为 Python 2.7 安装软件包 - 这在您的错误消息中很清楚
Permission denied: '/usr/local/lib/python2.7/dist-packages/sockshandler.py'
因此,如果您想为 python 3 安装软件包,请使用命令pip3
而不是pip
。
像sudo pip3 install tweepy
如果您希望pip
作为pip3
工作,您可以考虑添加别名为alias pip=pip3
您必须确保 pip 指向正确的 python 版本。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.