我正试图安装Django到已经存在的virtualenv。
按照pip-install网站上列出的说明,我从SSH运行以下命令。
name@server:~$ . myenv.env/bin/activate (myenv.env)nam@server:~$ pip install django
然而,在安装的底部,我看到这个:
creating /usr/local/lib/python2.7/dist-packages/django error: could not create '/usr/local/lib/python2.7/dist-packages/django': Permission denied
它似乎试图将其安装到全球目录。 我没有sudo权限。 我在这里做错了什么?
更新:$ PATH = /var/django/myenv.env/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
对不起,一年迟到的答案! 我有同样的问题,并修复它,我不知道你是否创build虚拟环境后,改变了目录的名称,但我做到了。 如果是这样,那么这就是我所做的。
1.) deactivate你的v-env。 修复之后,您需要重新启动v-env,所以现在不要deactivate了。 对?
2.)现在,由于我们在不同的path中创build了v-env,所以我们必须改变这些文件中的静态pathvariables。
为了让点子工作,你不需要这样做,但我仍然这样做。 bin/activate , bin/activate.csh , bin/activate.fish
bin/pip , bin/pip2 , bin/pip2.7
bin/easy_install , bin/easy_install2.7
3.)为了让pip工作,你必须纠正pip文件中的python解释器,并且在创build过程中有一个由virtualenv设置的静态解释器位置。
4.)让easy_install工作? 你猜对了,修好翻译的位置。
我希望这有助于任何人阅读这个在未来。 对不起OP,为了迟到。
我有这个相同的问题。
我删除了虚拟环境,并创build了一个新的,解决了这个问题。
可能不是你所希望的答案,但是因为它是唯一的答案…
那么没有pipe理权限,你的能力就非常有限了。 如果你不被允许提升自己或要求特权,我发现的最好的方法是创build另一个环境,制作一个requirements.txt文件,下载所需的所有包到你的机器上的包(django)也位于您的需求文件,它应该工作。
有同样的问题。 在我的情况下,原因是创build的虚拟环境为python2.7(默认),但我使用pip3来安装一个包。 pip3没有出现在我的虚拟世界中,所以它拖欠了全球。 对我来说,修复是使用
virtualenv flask --python=python3
创buildenv。
我遇到了重命名用户造成的同样的问题。 Crispy的回答是完全正确的。 而我的解决scheme可能会更方便。
setps:
1.input您的虚拟环境的binpath,例如cd ~/virenv_dir/bin
2.使用sed命令重命名该目录下的所有文件。 sed -i 's/old_name/new_name/' *