PIP 未安装到 virtualenv 目录

PIP 未安装到 virtualenv 目录

我正在尝试将 django 安装到已存在的虚拟环境中。

按照 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

答案1

抱歉,回答晚了一年!我遇到了同样的问题并解决了,我不知道您是否在创建虚拟环境后更改了目录的名称,但我确实更改了。如果是这样,那么这就是我所做的。

1.)deactivate您的 v-env。修复后您需要重新启动 v-env,所以现在最好重新启动deactivate。对吗?

2.) 现在,由于我们在不同的路径中创建了 v-env,我们必须更改这些文件中的静态路径变量。

为了使 pip 工作, 你不需要这样做,但我还是这么做了。 bin/activate,, bin/activate.cshbin/activate.fish

bin/pip,, bin/pip2bin/pip2.7

bin/easy_installbin/easy_install2.7

3.) 为了使 pip 工作,您必须更正 pip 文件中的 python 解释器,这也具有由 virtualenv 在创建过程中设置的静态解释器位置。

4.) 要让 easy_install 工作吗?你猜对了,修复解释器的位置。

我希望这对以后读到这篇文章的人有所帮助。抱歉楼主,我来晚了。

答案2

我也遇到了同样的问题。

我删除了虚拟环境并创建了一个新的虚拟环境,解决了该问题。

可能不是您所希望的答案,但因为它是唯一的答案......

答案3

如果没有管理权限,您能做的事情就会非常有限。如果您无法提升自己的权限或请求权限,我发现最好的方法是创建另一个环境,创建一个 requirements.txt 文件,将您需要的所有软件包下载到您的机器(django),这些软件包也位于您的需求文件中,这样它应该可以正常工作。

答案4

遇到了同样的问题。在我的情况下,原因是创建的虚拟环境是针对 python2.7(默认),但我使用 pip3 安装包。pip3 不存在于我的虚拟环境中,因此它默认为全局环境。对我来说,解决方法是使用

virtualenv flask --python=python3

创建环境。

相关内容