virtualenv 编辑系统范围的设置
virtualenv edits system-wide settings
我使用以下命令安装了一个新的虚拟环境:
sudo virtualenv --python=python3.4 mysite
然后,我编辑了新建文件夹的权限:
sudo chmod -R 777 mysite/
然后我开始激活虚拟环境:
source mysite/bin/activate
virtualenv 已激活,提示前显示 (mysite)。
在我的系统范围 python 包中,我安装了 django 版本 1.7.1。我想将 django 1.8 安装到 virtualenv。所以,我这样做了:
sudo pip3 install django==1.8
但令我恐惧的是,它从我的系统中删除了 django 1.7.1 并在系统上安装了 1.8,而不仅仅是我想要的 virtualenv。
我通过 运行 确认了这一点:
python -c "import django; print(django.get_version())"
它 returns 1.8 在 virtualenv 被激活和停用时。
如何只在 virtualenv 中安装 1.8,而不影响系统范围的 django 版本?
不需要使用sudo virtualenv
只使用virtualenv
virtualenv 的目的是隔离 python 环境。
当你在 virtualenv 中时,不要使用 sudo pip / sudo pip3。
使用不带 sudo 的 pip。 sudo pip 用于在系统范围内安装 python 个软件包。
所以,正常的工作流程是
virtualenv --python=python3.4 mysite
source mysite/bin/activate
pip install <package_name_version>
喜欢 pip install django==1.8
我的猜测是指定要使用的 python / pip 的环境变量(尤其是 PATH)没有通过 sudo 传递。无论如何你为什么要sudo任何东西?只需创建 virtualenv 作为您的用户,source bin/activate 作为您的用户,并 运行 pip 作为您的用户。
有关详细信息:man sudoers
并搜索 Command environment
。
在通过 pip 安装 django 时不要使用 sudo,并尝试使用 sudo less 来创建虚拟环境和更改权限。
我已经尝试过这些方法并且已经做到了
我使用以下命令安装了一个新的虚拟环境:
sudo virtualenv --python=python3.4 mysite
然后,我编辑了新建文件夹的权限:
sudo chmod -R 777 mysite/
然后我开始激活虚拟环境:
source mysite/bin/activate
virtualenv 已激活,提示前显示 (mysite)。
在我的系统范围 python 包中,我安装了 django 版本 1.7.1。我想将 django 1.8 安装到 virtualenv。所以,我这样做了:
sudo pip3 install django==1.8
但令我恐惧的是,它从我的系统中删除了 django 1.7.1 并在系统上安装了 1.8,而不仅仅是我想要的 virtualenv。
我通过 运行 确认了这一点:
python -c "import django; print(django.get_version())"
它 returns 1.8 在 virtualenv 被激活和停用时。
如何只在 virtualenv 中安装 1.8,而不影响系统范围的 django 版本?
不需要使用sudo virtualenv
只使用virtualenv
virtualenv 的目的是隔离 python 环境。
当你在 virtualenv 中时,不要使用 sudo pip / sudo pip3。 使用不带 sudo 的 pip。 sudo pip 用于在系统范围内安装 python 个软件包。
所以,正常的工作流程是
virtualenv --python=python3.4 mysite
source mysite/bin/activate
pip install <package_name_version>
喜欢 pip install django==1.8
我的猜测是指定要使用的 python / pip 的环境变量(尤其是 PATH)没有通过 sudo 传递。无论如何你为什么要sudo任何东西?只需创建 virtualenv 作为您的用户,source bin/activate 作为您的用户,并 运行 pip 作为您的用户。
有关详细信息:man sudoers
并搜索 Command environment
。
在通过 pip 安装 django 时不要使用 sudo,并尝试使用 sudo less 来创建虚拟环境和更改权限。 我已经尝试过这些方法并且已经做到了