Python 将Pip包转移到conda
我目前使用的是一台共享Ubuntu机器,它有python2.7和通过pip安装的多个软件包Python 将Pip包转移到conda,python,python-3.x,pip,anaconda,conda,Python,Python 3.x,Pip,Anaconda,Conda,我目前使用的是一台共享Ubuntu机器,它有python2.7和通过pip安装的多个软件包 $ python --version Python 2.7.12 $ pip --version pip 18.0 from /usr/local/lib/python2.7/dist-packages/pip (python 2.7) $ pip list Package Version -----------------------------
$ python --version
Python 2.7.12
$ pip --version
pip 18.0 from /usr/local/lib/python2.7/dist-packages/pip (python 2.7)
$ pip list
Package Version
---------------------------------- -----------
asn1crypto 0.24.0
awscli 1.11.101
backports-abc 0.5
...
..
.
我想安装conda
并拥有python2.7
和python3.6
环境
如何在conda env(2.7
和3.6
中安装当前安装的所有软件包(pip list
)?我不关心软件包版本。可以为每个软件包安装相同版本或最新版本。安装相同版本
首先,将通过pip安装的软件包列表放入文件:
pip freeze > packages.txt
然后在两个环境中使用conda安装它们:
conda install --yes --file packages.txt
安装忽略版本
pip freeze
将抛出包含版本的包。要删除它们,请运行以下命令:
pip freeze | sed s/=.*// > packages.txt
这样,您将更有可能使用conda成功安装它们,而不会产生依赖冲突
预期PackagesNotFoundError
如果您安装了很多软件包,conda可能找不到其中的一些。那样的话,请退房 这里给出了下载conda和安装多个python版本,您还可以找到许多与conda相关的重要命令。 通过在conda中安装pip软件包
*while read requirement; conda install --yes $requirement;or pip install $requirement; end < requirements.txt*
*同时读取要求;conda安装——是$要求;或pip安装$要求;end
您希望它们通过pip
安装在您的conda环境中,还是通过conda
安装(如果它存在于conda
或conda forge
),pip
如果不存在,还是始终通过conda
安装(如果不存在,则动态生成配方)?如果你不知道,我认为第二个可能是最好的,但这是你的选择。此外,“可以安装相同版本或最新版本…”但不是较早的版本,对吗?更喜欢通过conda安装。假设我的conda python版本是3.6,这将在3.6中安装所有软件包。是否有任何步骤可以将相同的包复制到Python2.7 conda env?如果您希望实现“半自动化”,这绝对是正确的做法。如果conda
/conda forge
上存在相同软件包的所有版本,它将安装这些软件包的所有相同版本,如果其中任何一个版本不匹配,它将给您一个错误。(此时,您可以编辑packages.txt
以删除某些版本说明符,或取出一些软件包单独安装,等等)@SpandanBrahmbhatt如答案所示,在您的两个环境中执行相同的命令,您将获得相同的软件包(尽可能)这两个版本都安装了。@SpandanBrahmbhatt您可能在不同的conda环境中有不同的Python版本。在它们之间切换并重复第二个命令。完美。谢谢各位。我会接受答案,一旦它允许我这样做。