【问题标题】:anaconda/conda - install a specific package versionanaconda/conda - 安装特定的软件包版本
【发布时间】:2022-01-17 11:05:12
【问题描述】:

我想使用 conda 在我当前的活动环境中安装“绳索”包。目前,可以使用以下“绳索”版本:

(data_downloader)user@user-ThinkPad ~/code/data_downloader $ conda search rope
Using Anaconda Cloud api site https://api.anaconda.org
Fetching package metadata: ....
cached-property              1.2.0                    py27_0  defaults        
                             1.2.0                    py34_0  defaults        
                             1.2.0                    py35_0  defaults        
                             1.3.0                    py27_0  defaults        
                             1.3.0                    py34_0  defaults        
                             1.3.0                    py35_0  defaults        
rope                         0.9.4                    py26_0  defaults        
                             0.9.4                    py27_0  defaults        
                             0.9.4                    py33_0  defaults        
                             0.9.4                    py34_0  defaults        
                             0.9.4                    py26_1  defaults        
                             0.9.4                    py27_1  defaults        
                             0.9.4                    py33_1  defaults        
                             0.9.4                    py34_1  defaults        
                          .  0.9.4                    py35_1  defaults        

我想安装以下一个:

                         1.3.0                    py35_0  defaults        

我已经尝试了各种“conda install”的排列方式,我不会在这里列出,因为它们都不正确。

我也不确定 py35_0 是什么(我假设这是构建包的 python 版本?)我也不知道什么是“默认值”是什么意思?

【问题讨论】:

  • 你试过conda install package=version吗?例如conda install matplotlib=1.4.3
  • @CharlieParker -- 谢谢你的工作。我无法通过阅读帮助文本来收集以这种方式使用 equals 的方法。 -- 帮助文本确实让我看起来必须以某种方式将修订号与版本号相关联并以这种方式指定它(使用--revision)。再次感谢!
  • 如果您至少想要一个特定版本,请不要忘记引号conda install -y networkx">=2.5"

标签: python anaconda


【解决方案1】:

要安装特定的包:

conda install <pkg>=<version>

例如:

conda install matplotlib=1.4.3

对于涉及更复杂表达式的表达式,可以引用关系:

conda install 'matplotlib>=1.4.3'

# or

conda install "matplotlib>=1.4.3"

【讨论】:

  • 有没有办法说“至少版本 2.5”?例如conda install -y networkx=&gt;2.5?
  • 这对我有用:conda install -y networkx"&gt;=2.5"
  • 这对我不起作用:conda install samtools&gt;=1.14
  • @ÖmerAn 必须防止 shell 评估 &gt; 符号:conda install 'samtools&gt;=1.14'
【解决方案2】:

rope 没有版本 1.3.01.3.0 指的是包cached-propertyrope 的最高可用版本是 0.9.4

您可以使用conda install package=version 安装不同的版本。但在这种情况下,rope 只有一个版本,所以你不需要它。

您在此列表中看到 cached-property 的原因是因为它包含字符串 "rope": "cached-p rope erty"

py35_0 表示此特定版本需要 python 版本3.5。如果您只有python3.4 并且该软件包仅适用于版本3.5,则无法使用 conda 安装它。

我也不太确定defaults。这应该表明这个包在默认的 conda 通道内。

【讨论】:

  • 谢谢 - 是的,我从 conda 开始,完全错过了 'cached-property' 只是另一个包。
  • @s5s defaults 确实表明该软件包将从默认软件包存储库安装。 pyXY 表示该特定包可用于 Python XY,而 _Z 表示“内部版本号”,当创建包的方式发生变化时,该版本号会增加,但包中的实际代码不会改变。
  • 安装特定包的命令conda install rope=0.9.4This is a link to Conda Documentation
  • 如何选择python版本?如果我想为 python 3.5 安装 1.3.0 版本的包?
  • 对于寻找可执行代码的实际答案的人:conda install &lt;pkg&gt;=&lt;version&gt; e.g. conda install matplotlib=1.4.3
【解决方案3】:

如果这些字符中的任何一个,'>','

conda install [-y] package">=version"
conda install [-y] package'>=low_version, <=high_version'
conda install [-y] "package>=low_version, <high_version"

conda install -y torchvision">=0.3.0"
conda install  openpyxl'>=2.4.10,<=2.6.0'
conda install "openpyxl>=2.4.10,<3.0.0"

where 选项 -y, --yes 不要求确认。

总结如下:

Format         Sample Specification     Results
Exact          qtconsole==4.5.1         4.5.1
Fuzzy          qtconsole=4.5            4.5.0, 4.5.1, ..., etc.
>=, >, <, <=  "qtconsole>=4.5"          4.5.0 or higher
               qtconsole"<4.6"          less than 4.6.0

OR            "qtconsole=4.5.1|4.5.2"   4.5.1, 4.5.2
AND           "qtconsole>=4.3.1,<4.6"   4.3.1 or higher but less than 4.6.0

以上信息的药水归功于Conda Cheat Sheet

在 conda 4.7.12 上测试

【讨论】:

  • anaconda-project.yml 的引号似乎不是强制性的。
  • 现在这在控制台中非常有意义(pip 也是如此):没有引号,小于/大于字符将被解释为重定向。
  • 这是最好的答案,因为它最完整并且可以直接回答问题。这得到了我的支持!
  • 为什么需要引号?
  • @CharlieParker,引号使字符像'>','
猜你喜欢
  • 2023-01-04
  • 2019-04-12
  • 1970-01-01
  • 2019-12-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多