在所有虚拟环境中安装特定的软件包
在使用virtualenv创建虚拟环境时,如果使用了--system-site-packages
选项,虚拟环境将会继承来自/usr/lib/python2.7/site-packages
(或其他全局site-packages目录)的包。
这个问题的出现原因是在创建虚拟环境时,使用了--system-site-packages
选项,导致虚拟环境继承了全局site-packages目录中的包。在一些情况下,我们可能并不希望虚拟环境继承全局的包,而是希望在虚拟环境中安装特定的包。
解决这个问题的方法是,在创建虚拟环境时不使用--system-site-packages
选项,这样虚拟环境就不会继承全局的包。然后,可以在虚拟环境中使用pip命令来安装特定的包。
下面是解决这个问题的具体步骤:
1. 打开终端或命令行界面。
2. 使用以下命令创建一个新的虚拟环境,不包含全局的包:
virtualenv ENV
注意,这里的ENV
是你想要创建的虚拟环境的名称,可以根据自己的需要进行修改。
3. 激活虚拟环境:
- 在Linux和Mac上,使用以下命令:
source ENV/bin/activate
- 在Windows上,使用以下命令:
ENV\Scripts\activate
4. 在激活的虚拟环境中,使用pip命令来安装特定的包。例如,要安装名为package1
和package2
的包,可以使用以下命令:
pip install package1 package2
注意,这里的package1
和package2
是你想要安装的包的名称,可以根据自己的需要进行修改。
通过上述步骤,我们可以在不继承全局包的情况下,在虚拟环境中安装特定的包。这样可以更好地控制虚拟环境的依赖关系,并确保不会受到全局包的影响。