我已经将很多包下载到全球环境中(可以这么说)。现在,我想创建一个新的虚拟环境并将一些包移动到该环境。我该怎么做?
2 回答
如果您尝试复制或重命名虚拟环境,您会发现复制的环境不起作用。这是因为虚拟环境与创建它的 Python 以及创建它的位置密切相关。(“可重定位”选项不起作用。
但是,这很容易解决。无需移动/复制,只需在新位置创建新环境即可。创建虚拟环境。这种方式对我有用,或者您可以查看以下链接:
pip install virtualenv
virtualenv NameOfYourVirtualEnvironment
virtualenv NameOfYourVirtualEnvironment/bin/activate
然后,pip freeze > requirements.txt
在旧环境中运行以创建安装在其中的软件包列表,在您的情况下是全局环境。这样,您就可以pip install -r requirements.txt
在新环境中运行以从保存的列表中安装软件包。当然,您可以在机器之间复制 requirements.txt。在许多情况下,它会起作用;有时,您可能需要对 requirements.txt 进行一些修改以删除特定于操作系统的内容。
来源:https ://chriswarrick.com/blog/2018/09/04/python-virtual-environments/
这也可能对您有用: 如何将全局安装的包导入 virtualenv 文件夹 https://gist.github.com/k4ml/4080461
虽然您可以将全局安装的站点包目录中的文件/目录复制到虚拟环境的站点包中,但您可能会遇到问题(丢失文件、二进制不匹配或其他问题)。如果您不熟悉 python 打包机制,请不要这样做。
我建议您pip freeze
从全局安装中运行以获取已安装内容的列表,然后将该输出作为requirements.txt
源代码存储,并将其置于源代码管理之下。然后pip install -r requirements.txt
在激活您的 virtualenv 后运行,您会将依赖项(具有相同版本)复制到您的 virtualenv 中。