将Pip包转移到conda

Spa*_*att 2 python pip python-3.x 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
---------------------------------- -----------
asn1crypto                         0.24.0
awscli                             1.11.101
backports-abc                      0.5
...
..
.
Run Code Online (Sandbox Code Playgroud)

我要安装conda并拥有Python 2.7Python 3.6环境。

如何pip list在conda env(2.73.6)中安装当前已安装的所有软件包()?我不关心软件包的版本。可以为每个软件包安装相同版本或最新版本。

And*_*noy 5

安装相同版本

首先,获取通过pip安装到文件中的软件包列表:

pip freeze > packages.txt
Run Code Online (Sandbox Code Playgroud)

然后在两个环境中使用conda安装它们:

conda install --yes --file packages.txt
Run Code Online (Sandbox Code Playgroud)

安装忽略版本

pip freeze将吐出带有版本的软件包。要删除它们,请运行以下命令:

pip freeze | sed s/=.*// > packages.txt
Run Code Online (Sandbox Code Playgroud)

这样,您更有可能使用conda成功安装它们,而不会发生依赖关系冲突。

期待中 PackagesNotFoundError

如果您安装了很多软件包,conda可能会找不到其中一些。在这种情况下,请查看此问题