gpt4 book ai didi

python - 在虚拟环境中, "sudo pip"链接到全局 python pip

转载 作者:太空狗 更新时间:2023-10-29 21:04:57 26 4
gpt4 key购买 nike

在 vagrant 环境中工作,在 python 虚拟环境中,当我尝试使用

安装 python 包时
(venv) vagrant@vagrant-ubuntu-trusty-64:~$ pip install <package_name>

我收到权限错误:

error: could not create '/home/vagrant/venv/lib/python2.7/site-packages/<package_name>': Permission denied

当我使用sudo安装时:

(venv) vagrant@vagrant-ubuntu-trusty-64:~$ sudo pip install <package_name>

安装成功,但是包没有安装在venv里面,而是安装在全局的python目录下。

我可以通过使用 sudo 并指定 pip 的路径在 venv 中成功安装包:

(venv) vagrant@vagrant-ubuntu-trusty-64:~$ sudo /home/vagrant/venv/bin/pip install <package_name>

虽然这很复杂。那么如何停止 sudo pip 链接到全局 python pip?

谢谢

最佳答案

我在 pip vs sudo pip 和 virtualenv pip vs local pip 上遇到了同样的问题。几个月前创建我的 venv 时,我以 root 用户身份登录。所以当我想安装一个新的 pip 包时,权限被拒绝了。所以用 sudo 尝试了相同的命令,但随后它在我的本地 pip 上安装了包。

吸取教训。我不应该在 venv 中使用 sudo。

修复它:

chmod -R 0777 venv_folder_path_here

-R 开关用于 venv 文件夹中的递归更改。

然后激活你的 venv 并尝试 pip 安装:

/home/username_here/venv/project_name_here/bin/activate
(venv_name) pip install package_name_here

关于python - 在虚拟环境中, "sudo pip"链接到全局 python pip,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41429988/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com