将 pip 与 virtualenv 一起使用时如何避免“权限被拒绝”

新手上路,请多包涵

我尝试在 Ubuntu 机器的虚拟环境中使用 pip 部署 Python 包,但遇到了与权限相关的问题。例如:

 (TestVirtualEnv)test@testServer:~$ pip install markdown2

终止于:

错误:无法创建“/home/test/virtualenvs/TestVirtualEnv/lib/python3.3/site-packages/markdown2.py”:权限被拒绝

我不能 sudo ,因为它将全局安装包,而不是在虚拟环境中。我 chown 编辑 site-packagesls shows only directories related to easy_install , pip and setuptools , and nothing related to Markdown.

如何使用 pip 在虚拟环境中部署包,而不会遇到与权限相关的错误?

原文由 Arseni Mourzenko 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 923
2 个回答

virtualenv permission problems might occur when you create the virtualenv as sudo and then operate without sudo in the virtualenv .

正如您在问题评论中发现的那样,这里的解决方案是 创建 virtualenv 没有 sudo 能够在没有 sudo 的情况下 工作(特别是写) .

原文由 sebastian_oe 发布,翻译遵循 CC BY-SA 3.0 许可协议

解决方案:

如果您以 root 身份创建了 virtualenv,请运行以下命令:

 sudo chown -R your_username:your_username path/to/virtuaelenv/

这可能会解决您的问题。

干杯

原文由 Vingtoft 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题