当conda-forge安装旧版本时如何升级

时间:2020-07-03 17:31:57

标签: python command-line anaconda package conda

pandas-profiling(似乎是)一个令人愉悦的小程序包,它对pd.DataFrame.describe()方法进行了改进。我决定使用conda安装它,并且按照documentation的要求,在命令行上输入conda install -c conda-forge pandas-profiling

在这里变得很古怪。 pandas-profiling的当前内部版本为2.8.0。这是在命令行上返回的文本:

The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    pandas-profiling-1.4.1     |                0          39 KB  conda-forge
    ------------------------------------------------------------
                                           Total:          39 KB

The following NEW packages will be INSTALLED:

  pandas-profiling   conda-forge/osx-64::pandas-profiling-1.4.1-0

...版本1.4.1?那似乎不对。我可能会错过一些重要的功能。我想升级,但是,作为我的新手数据科学家,我对作为包管理器的conda不够熟悉,无法弄清楚为什么conda-forge上的最新版本是1.4。 1或如何通过pipconda进行升级(出于一致性考虑,最好通过conda升级)。

然后,我使用conda search pandas-profiling --info调查了该内部版本,它揭示了有关似乎已安装的1.4.1_0内部版本的以下内容:

pandas-profiling 1.4.1 0
------------------------
file name   : pandas-profiling-1.4.1-0.tar.bz2
name        : pandas-profiling
version     : 1.4.1
build       : 0
build number: 0
size        : 39 KB
license     : MIT
subdir      : osx-64
url         : https://conda.anaconda.org/conda-forge/osx-64/pandas-profiling-1.4.1-0.tar.bz2
md5         : 9a23538636bc7bcc05c6e7a90bca3c33
constraints :
  - pypy <0a0
dependencies:
  - jinja2 >=2.8
  - matplotlib >=1.4
  - pandas >=0.19
  - python >=2.7
  - six >=1.9

这是为python 2.7构建的,但是我的conda正在管理版本3.7.6!

有人对这里发生的事情以及如何升级到最新版本有任何见识吗?

2 个答案:

答案 0 :(得分:0)

在这种情况下,至少根据该软件包的最新版本,当前环境的依存关系与新软件包(pandas-profiling)的依存关系之间可能存在一些不兼容。 / p>

但是,显然conda能够找到较宽松的要求的旧版本(可能是由于该旧软件包的元数据中存在错误),因此,它决定改用该版本。

要指定您要查找的确切版本,请尝试以下操作之一:

conda install -c conda-forge pandas-profiling=2.8
conda install -c conda-forge pandas-profiling=2.8.0

如果失败,请尝试以下操作,以查看其带来的好处:

conda create -n testenv -c conda-forge pandas-profiling=2.8.0 python=3.7

尝试一次将其依赖项安装到您的首选环境(指定版本)中,看看哪个安装失败。这样可能会提示不兼容的来源。

使用conda search --info(就像您所做的一样)也是弄清依赖项正在发生什么的好方法。但是,如果您发现该软件包有任何问题,或者需要其他详细信息,如何构建,可以在here中找到conda-forge的python-profiling软件包的配方。

答案 1 :(得分:0)

我解决此问题的方法是在尝试安装pandas-profiling之前确保conda已更新。而且是在新环境中。

创建新环境:

conda create -n new_env

在其中安装conda(默认情况下应为最新版本,但如有必要请进行验证和更新):

conda activate new_env

conda install conda

安装pandas配置文件:

conda install -c conda-forge pandas-profiling

最新的conda是关键。另外,当环境中已经安装了pandas-profiling(过时的版本)时,无法卸载和重新安装。