python-3.x 如何将软件包从另一个环境安装到另一个环境?

v8wbuo2f  于 2023-04-13  发布在  Python
关注(0)|答案(1)|浏览(153)

假设我有一个virtualenv环境myenv1和另一个myenv2。我在myenv1中安装了一些软件包,我也想在myenv2中安装它们。有没有办法使用myenv1将它们安装在myenv2中?
我提到了following link,但显然这需要requirement.txt存在。
但是,我在旅途中安装了很多包,没有为myenv1准备好requirement.txt。而且,第二步需要重新下载所需的包到文件夹中。有没有方法可以做到不重新下载任何东西?

eqqqjvef

eqqqjvef1#

pipdeptree非常适合确定您安装了哪些软件包,并将其带到新的环境中。
这些文档演示了如何生成一个只包含您安装的软件包(而不包含它们的依赖项)的需求文件:

pipdeptree --freeze --warn silence | grep -E '^[a-zA-Z0-9\-]+' > requirements.txt

然后你可以将需求文件缩减到你真正需要的包,然后按照pip download的步骤操作,这样可以最大限度地减少下载。
如果您不想再次下载任何软件包,您可以尝试使用pip's cache directory

pip install -r requirements.txt --find-links=%LocalAppData%\pip\cache\wheels

但是,我不知道pip的缓存策略能将旧的安装包保存多久。阅读更多on pip's Caching docs。也许你可以使用pip download --find-links来提取缓存的包,然后使用pip download来获取其余的包?

相关问题