Bel*_*nar 33 python macos bash terminal pip
在我的macOS Mojave终端中,我想用pip安装一个python包.它有效,但它说:
You are using pip version 10.0.1, however version 18.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
Run Code Online (Sandbox Code Playgroud)
所以我想用给定的命令更新pip,但是我收到一个错误:
Could not install packages due to an EnvironmentError: [Errno 13] Permission denied:
'/Library/Python/2.7/site-packages/pip-18.0-py2.7.egg/EGG-INFO/PKG-INFO'
Consider using the `--user` option or check the permissions.
Run Code Online (Sandbox Code Playgroud)
这个东西可以滚动 - - - - - >
我真的不明白现在该做什么.此外,我意识到它在错误消息中说Python 2.7,但我有并且只想使用python 3.
que*_*o42 53
我更改了我正在使用的 venv 的权限,因为虚拟环境子文件夹中缺少权限。
sudo chmod -R a+rwx testenv
Run Code Online (Sandbox Code Playgroud)
然后我可以从 codium 中安装自动推荐的软件包。
请注意,这会循环遍历venv 中所有文件夹和文件的权限。如果您在 git 存储库中工作,该存储库应保留其大部分文件权限,以便您不会向 git 日志发送垃圾邮件,如果您有写保护的数据库文件夹或其他类似内容,则应该尝试仅选择需要的文件夹更改,可能是内置模块。检查您想要在代码内或网络上安装的软件包的依赖关系。这不再是一个快速的解决方法。
Gon*_*cia 37
如果要使用python3 +安装软件包,则需要使用pip3 install packageName
要解决errno 13,您必须--user在末尾添加
pip3 install packageName --user
Run Code Online (Sandbox Code Playgroud)
编辑:
对于python中的任何项目,强烈建议在Virtual enviroment上工作,该工具可通过为它们创建隔离的python虚拟环境来帮助将不同项目所需的依赖项分开。
为了使用python3 +创建一个,您必须使用以下命令:
virtualenv enviroment_name -p python3
Run Code Online (Sandbox Code Playgroud)
然后只需激活它就可以对其进行处理:
source enviroment_name/bin/activate
Run Code Online (Sandbox Code Playgroud)
激活虚拟环境后,虚拟环境的名称将显示在终端的左侧。这将使您知道虚拟环境当前处于活动状态。现在,您只需使用即可在该虚拟环境中安装与项目相关的依赖项pip。
pip install package_name
Run Code Online (Sandbox Code Playgroud)
Man*_*vin 13
要查看这实际上是否是权限问题,请运行以下命令来安装名为 的包xxx。
pip install --user xxx
Run Code Online (Sandbox Code Playgroud)
例如:安装包bcrypt运行,
pip install --user bcrypt
Run Code Online (Sandbox Code Playgroud)
Dom*_*aul 12
关于permissions命令,请在终端命令前使用sudo:
sudo pip install --upgrade pip
Run Code Online (Sandbox Code Playgroud)
Sudo是一个程序,允许您使用超级用户的权限运行命令.
关于python尝试运行pip作为这样的可执行文件:
python3.6 -m pip install <package>
Run Code Online (Sandbox Code Playgroud)
答案在错误消息中。过去,您或某个进程执行了以下操作sudo pip,导致其下的某些目录/Library/Python/2.7/site-packages/...具有权限,从而使您的当前用户无法访问它。
然后你做了一个pip install whatever依赖于另一件事的。
因此,要修复它,请访问 /Library/Python/2.7/site-packages/... 并找到具有 root 或非您用户权限的目录,然后删除然后重新安装这些包,或者只是将所有权强制给用户谁应该有权访问。
我在安装numpy时遇到了同样的问题pip install numpy。
然后我试过了
sudo -H pip3 install --upgrade pip
sudo -H pip3 install numpy
它对我来说效果很好。
说明:
该-H带(HOME)选项sudo设置HOME环境变量设置为目标用户(root默认情况下)的主目录。默认情况下,sudo 不会修改 HOME。
当我尝试安装一个包(flask-classful)时,我遇到了同样的错误。
我犯了以 root 身份安装 anaconda 的错误。我更改了已安装 anaconda 文件夹的所有权,并且可以成功安装该软件包。
使用chown带有选项的命令-R递归更改已安装 anaconda 文件夹的所有权,如下所示:
chown -R owner:group /path/to/anaconda
这里 owner 是你的用户名,group 是组名。