尝试在pipenv shell中安装python解耦:
(projectname) username@host: pipenv install python-decouple
但我得到以下错误:
Installing python-decouple…
Error: An error occurred while installing python-decouple!
Error text: Processing /home/username/.cache/pipenv/wheels/6d/5a/2d/acfg...422fd/python_decouple-3.3-py3-none-any.whl
Installing collected packages: python-decouple
ERROR: Could not install packages due to an EnvironmentError: [Errno 13] Permission denied: '/home/username/.local/share/virtualenvs/projectname-J2Y6DseW/lib/python3.6/site-packages/__pycache__/decouple.cpython-36.pyc'
Consider using the `--user` option or check the permissions.
我意识到我可以使用从pipenv外壳外部安装这个包
python3 -m pip install --user python-decouple
但这意味着,当有人试图使用Pipenv复制我的项目环境时,这种依赖关系将不会由Pipenv管理。。。
我如何解决这个问题,原因是什么,我可以在文件上设置什么样的权限来克服它?
使用它的风险自负:
以下解决方案有效:
运行:
sudo chmod 777 /home/username/.local/share/virtualenvs/projectname-J2Y6DseW/lib/python3.6/site-packages/__pycache__
之后,请尝试从pipenv外壳中再次使用pipenv进行安装。
我不知道这是否是一个好的解决方案,所以如果你有更好的解决方案请纠正我。
这里只有我的两分钱:
我会通过添加python-decouple
的包来修改requirements.txt
(每个虚拟环境都应该有一个,或者至少设置一个用于维护依赖关系(。当前版本是3.3,所以将其添加到文件中的某个位置:python-decouple==3.3
,然后重新运行虚拟环境或重新安装requirements.txt
。
有关此程序包的详细信息,请参阅此链接。