假设我有一个virtualenv
环境myenv1
和另一个myenv2
。我在myenv1
中安装了一些软件包,我也想在myenv2
中安装它们。有没有办法使用myenv1
将它们安装在myenv2
中?
我提到了following link,但显然这需要requirement.txt
存在。
但是,我在旅途中安装了很多包,没有为myenv1
准备好requirement.txt
。而且,第二步需要重新下载所需的包到文件夹中。有没有方法可以做到不重新下载任何东西?
假设我有一个virtualenv
环境myenv1
和另一个myenv2
。我在myenv1
中安装了一些软件包,我也想在myenv2
中安装它们。有没有办法使用myenv1
将它们安装在myenv2
中?
我提到了following link,但显然这需要requirement.txt
存在。
但是,我在旅途中安装了很多包,没有为myenv1
准备好requirement.txt
。而且,第二步需要重新下载所需的包到文件夹中。有没有方法可以做到不重新下载任何东西?
1条答案
按热度按时间eqqqjvef1#
pipdeptree非常适合确定您安装了哪些软件包,并将其带到新的环境中。
这些文档演示了如何生成一个只包含您安装的软件包(而不包含它们的依赖项)的需求文件:
然后你可以将需求文件缩减到你真正需要的包,然后按照
pip download
的步骤操作,这样可以最大限度地减少下载。如果您不想再次下载任何软件包,您可以尝试使用pip's cache directory:
但是,我不知道pip的缓存策略能将旧的安装包保存多久。阅读更多on pip's Caching docs。也许你可以使用
pip download --find-links
来提取缓存的包,然后使用pip download
来获取其余的包?