繁体   English   中英

如何正确安装 Python 依赖项? (也许没有 sudo?)

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM