【问题标题】:Transfer Pip packages to conda将 Pip 包转移到 conda
【发布时间】:2019-01-22 16:07:21
【问题描述】:

我目前正在使用一台共享的 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
...
..
.

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

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

【问题讨论】:

  • 您希望它们通过pip 安装在您的 conda 环境中,还是通过conda 安装(如果存在于condaconda-forgepip如果没有,或者总是通过conda 安装(如果不存在,则动态生成一个配方)?如果您不知道,我认为第二个可能是最好的,但这是您的选择。
  • 另外,“可以安装相同版本或最新版本……”但不是早期版本,对吧?
  • 更喜欢通过 conda 安装。是的,不是早期版本。

标签: python python-3.x pip anaconda conda


【解决方案1】:

安装相同的版本

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

pip freeze > packages.txt

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

conda install --yes --file packages.txt

安装忽略版本

pip freeze 将输出带有版本的包。要删除它们,请改为运行:

pip freeze | sed s/=.*// > packages.txt

这样你就更有可能成功地使用 conda 安装它们而不会出现依赖冲突。

期待PackagesNotFoundError

如果您安装了很多软件包,conda 可能无法找到其中的一些。在这种情况下,请查看this question

【讨论】:

  • 假设我的 conda python 版本是 3.6,这将安装 3.6 中的所有包。是否有任何步骤可以将相同的包复制到 python 2.7 conda env ?
  • 如果您想要“半自动化”的东西,这绝对是正确的做法。如果它们都存在于conda/conda-forge 上,它将安装相同软件包的所有相同版本,如果其中任何一个不匹配,则会给您一个错误。 (此时您可以编辑packages.txt 以删除一些版本说明符,或者将一些包拉出来单独安装等)
  • @SpandanBrahmbhatt 正如答案所说,在您的两个环境中执行相同的命令,您将获得为两个环境安装的相同软件包(尽可能)。
  • @SpandanBrahmbhatt 大概你在不同的 conda 环境中有不同的 Python 版本。在它们之间切换并重复第二个命令。
  • 完美。多谢你们。一旦允许我这样做,我会接受答案。
【解决方案2】:

这里提供了下载 conda 和安装多个 python 版本,您还可以找到许多与 conda 相关的重要命令。 https://github.com/Nitish1206/conda_setup_for_ubuntu

通过在 conda 中安装 pip 包。

*while read requirement; conda install --yes $requirement;or pip install $requirement; end < requirements.txt*

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-10-19
    • 2020-12-27
    • 2016-06-01
    • 2016-07-10
    • 2017-06-28
    • 2016-05-03
    • 2019-07-01
    相关资源
    最近更新 更多