由于包冲突,无法使用conda安装basemap 1.2.1,如何解决?

2024-04-29 10:24:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我在一个非根环境中的Conda(win1064,python3.7.3)上安装了Basemap,但最终出现了there is no epsg in the proj folder的问题。根据github的建议,我发现我的版本是1.2.0,并试图安装1.2.1,但没有成功。在

编辑:很明显,这是与proj不兼容的问题,在尝试此操作时可以看到:

conda create -n test python proj basemap=1.2.1 -c defaults -c conda-forge

首先,我将通道conda forge设置为最高优先级,我的环境的一半因此而更新,但是Basemap没有。在

然后我试图强制安装1.2.1,这会导致详细报告哪些软件包相互冲突:

Package llvm-meta conflicts for:
arrow-cpp -> numpy[version='>=1.16,<2.0a0'] -> libflang[version='>=5.0.0'] -> openmp==5.0.0 -> llvm-meta[version='5.0.0|5.0.0.*']
parquet-cpp -> arrow-cpp=0.5 -> numpy[version='>=1.16,<2.0a0'] -> libflang[version='>=5.0.0'] -> openmp==5.0.0 -> llvm-meta[version='5.0.0|5.0.0.*']
fastparquet -> numpy[version='>=1.11'] -> libflang[version='>=5.0.0'] -> openmp==5.0.0 -> llvm-meta[version='5.0.0|5.0.0.*']
statsmodels -> numpy=1.11 -> libblas[version='>=3.8.0,<4.0a0'] -> libopenblas==0.3.7=h29e5d5d_0 -> libflang[version='>=5.0.0'] -> openmp==5.0.0 -> llvm-meta[version='5.0.0|5.0.0.*']
pandas -> numpy[version='>=1.11.*'] -> libflang[version='>=5.0.0'] -> openmp==5.0.0 -> llvm-meta[version='5.0.0|5.0.0.*']
wordcloud -> numpy -> libflang[version='>=5.0.0'] -> openmp==5.0.0 -> llvm-meta[version='5.0.0|5.0.0.*']
mkl-service -> numpy[version='>=1.11.3,<2.0a0'] -> libflang[version='>=5.0.0'] -> openmp==5.0.0 -> llvm-meta[version='5.0.0|5.0.0.*']
bokeh -> numpy[version='>=1.7.1'] -> libflang[version='>=5.0.0'] -> openmp==5.0.0 -> llvm-meta[version='5.0.0|5.0.0.*']
blas -> openblas -> libflang[version='>=5.0.0'] -> openmp==5.0.0 -> llvm-meta[version='5.0.0|5.0.0.*']
nltk -> numpy -> libflang[version='>=5.0.0'] -> openmp==5.0.0 -> llvm-meta[version='5.0.0|5.0.0.*']
liblapack -> libblas==3.8.0=14_openblas -> libopenblas==0.3.7=h29e5d5d_0 -> libflang[version='>=5.0.0'] -> openmp==5.0.0 -> llvm-meta[version='5.0.0|5.0.0.*']
matplotlib-base -> numpy[version='>=1.14.6,<2.0a0'] -> libflang[version='>=5.0.0'] -> openmp==5.0.0 -> llvm-meta[version='5.0.0|5.0.0.*']
scipy -> blas==1.0=mkl -> libblas==3.8.0=10_mkl -> libopenblas==0.3.7=h29e5d5d_0 -> libflang[version='>=5.0.0'] -> openmp==5.0.0 -> llvm-meta[version='5.0.0|5.0.0.*']
libblas -> libopenblas==0.3.7=h29e5d5d_0 -> libflang[version='>=5.0.0'] -> openmp==5.0.0 -> llvm-meta[version='5.0.0|5.0.0.*']
scikit-learn -> libcblas[version='>=3.8.0,<4.0a0'] -> libblas==3.8.0=14_openblas -> libopenblas==0.3.7=h29e5d5d_0 -> libflang[version='>=5.0.0'] -> openmp==5.0.0 -> llvm-meta[version='5.0.0|5.0.0.*']
basemap=1.2.1 -> numpy[version='>=1.14.6,<2.0a0'] -> libflang[version='>=5.0.0'] -> openmp==5.0.0 -> llvm-meta[version='5.0.0|5.0.0.*']
seaborn -> numpy -> libblas[version='>=3.8.0,<4.0a0'] -> libopenblas==0.3.7=h29e5d5d_0 -> libflang[version='>=5.0.0'] -> openmp==5.0.0 -> llvm-meta[version='5.0.0|5.0.0.*']
pyarrow -> numpy=1.11 -> libflang[version='>=5.0.0'] -> openmp==5.0.0 -> llvm-meta[version='5.0.0|5.0.0.*']
libcblas -> libblas==3.8.0=14_openblas -> libopenblas==0.3.7=h29e5d5d_0 -> libflang[version='>=5.0.0'] -> openmp==5.0.0 -> llvm-meta[version='5.0.0|5.0.0.*']
matplotlib -> numpy -> libflang[version='>=5.0.0'] -> openmp==5.0.0 -> llvm-meta[version='5.0.0|5.0.0.*']
patsy -> numpy[version='>=1.4.0'] -> libblas[version='>=3.8.0,<4.0a0'] -> libopenblas==0.3.7=h29e5d5d_0 -> libflang[version='>=5.0.0'] -> openmp==5.0.0 -> llvm-meta[version='5.0.0|5.0.0.*']
numba -> numpy[version='>=1.11,<1.12.0a0'] -> libflang[version='>=5.0.0'] -> openmp==5.0.0 -> llvm-meta[version='5.0.0|5.0.0.*']
numpy -> libflang[version='>=5.0.0'] -> openmp==5.0.0 -> llvm-meta[version='5.0.0|5.0.0.*']

Package clangdev conflicts for:
libblas -> libopenblas==0.3.7=h29e5d5d_0 -> libflang[version='>=5.0.0'] -> openmp==5.0.0 -> clangdev[version='5.0.0|5.0.0.*']
basemap=1.2.1 -> numpy[version='>=1.14.6,<2.0a0'] -> libflang[version='>=5.0.0'] -> openmp==5.0.0 -> clangdev[version='5.0.0|5.0.0.*']
scikit-learn -> libcblas[version='>=3.8.0,<4.0a0'] -> libblas==3.8.0=14_openblas -> libopenblas==0.3.7=h29e5d5d_0 -> libflang[version='>=5.0.0'] -> openmp==5.0.0 -> clangdev[version='5.0.0|5.0.0.*']
matplotlib-base -> numpy[version='>=1.14.6,<2.0a0'] -> libflang[version='>=5.0.0'] -> openmp==5.0.0 -> clangdev[version='5.0.0|5.0.0.*']
seaborn -> numpy -> libblas[version='>=3.8.0,<4.0a0'] -> libopenblas==0.3.7=h29e5d5d_0 -> libflang[version='>=5.0.0'] -> openmp==5.0.0 -> clangdev[version='5.0.0|5.0.0.*']
blas -> openblas -> libflang[version='>=5.0.0'] -> openmp==5.0.0 -> clangdev[version='5.0.0|5.0.0.*']
libcblas -> libblas==3.8.0=14_openblas -> libopenblas==0.3.7=h29e5d5d_0 -> libflang[version='>=5.0.0'] -> openmp==5.0.0 -> clangdev[version='5.0.0|5.0.0.*']
bokeh -> numpy[version='>=1.7.1'] -> libflang[version='>=5.0.0'] -> openmp==5.0.0 -> clangdev[version='5.0.0|5.0.0.*']
wordcloud -> numpy -> libflang[version='>=5.0.0'] -> openmp==5.0.0 -> clangdev[version='5.0.0|5.0.0.*']
matplotlib -> numpy -> libflang[version='>=5.0.0'] -> openmp==5.0.0 -> clangdev[version='5.0.0|5.0.0.*']
fastparquet -> numpy[version='>=1.11'] -> libflang[version='>=5.0.0'] -> openmp==5.0.0 -> clangdev[version='5.0.0|5.0.0.*']
numpy -> libflang[version='>=5.0.0'] -> openmp==5.0.0 -> clangdev[version='5.0.0|5.0.0.*']
numba -> numpy[version='>=1.11,<1.12.0a0'] -> libflang[version='>=5.0.0'] -> openmp==5.0.0 -> clangdev[version='5.0.0|5.0.0.*']
nltk -> numpy -> libflang[version='>=5.0.0'] -> openmp==5.0.0 -> clangdev[version='5.0.0|5.0.0.*']
scipy -> blas==1.0=mkl -> libblas==3.8.0=10_mkl -> libopenblas==0.3.7=h29e5d5d_0 -> libflang[version='>=5.0.0'] -> openmp==5.0.0 -> clangdev[version='5.0.0|5.0.0.*']
mkl-service -> numpy[version='>=1.11.3,<2.0a0'] -> libflang[version='>=5.0.0'] -> openmp==5.0.0 -> clangdev[version='5.0.0|5.0.0.*']
pyarrow -> numpy=1.11 -> libflang[version='>=5.0.0'] -> openmp==5.0.0 -> clangdev[version='5.0.0|5.0.0.*']
parquet-cpp -> arrow-cpp=0.5 -> numpy[version='>=1.16,<2.0a0'] -> libflang[version='>=5.0.0'] -> openmp==5.0.0 -> clangdev[version='5.0.0|5.0.0.*']
pandas -> numpy[version='>=1.11.*'] -> libflang[version='>=5.0.0'] -> openmp==5.0.0 -> clangdev[version='5.0.0|5.0.0.*']
liblapack -> libblas==3.8.0=14_openblas -> libopenblas==0.3.7=h29e5d5d_0 -> libflang[version='>=5.0.0'] -> openmp==5.0.0 -> clangdev[version='5.0.0|5.0.0.*']
arrow-cpp -> numpy[version='>=1.16,<2.0a0'] -> libflang[version='>=5.0.0'] -> openmp==5.0.0 -> clangdev[version='5.0.0|5.0.0.*']
statsmodels -> numpy=1.11 -> libblas[version='>=3.8.0,<4.0a0'] -> libopenblas==0.3.7=h29e5d5d_0 -> libflang[version='>=5.0.0'] -> openmp==5.0.0 -> clangdev[version='5.0.0|5.0.0.*']
patsy -> numpy[version='>=1.4.0'] -> libblas[version='>=3.8.0,<4.0a0'] -> libopenblas==0.3.7=h29e5d5d_0 -> libflang[version='>=5.0.0'] -> openmp==5.0.0 -> clangdev[version='5.0.0|5.0.0.*']

我不知道下一步该怎么做,环境中甚至都没有安装llvm-meta和{},为什么会与不存在的包发生冲突?在

在安装basemap1.2.0时,也没有安装这些包,所以除非在版本1.2.1中更改了依赖关系,否则这对我来说毫无意义。在

我也不知道该向哪个github报告,任何建议都会有帮助。在

以下是conda list的输出:

^{pr2}$

Tags: numpyversiona0condacppmetallvmopenmp
2条回答

在不同的githubs中进行了长时间的搜索和实验后,我发现这里有两个不同的问题:

首先是Spyder/Anaconda/Miniconda的问题,特别是在创建新Conda环境时自动创建的Windows快捷方式。由于某些原因,使用该快捷方式启动Spyder不会设置PROJ_LIB环境变量,而从活动环境从控制台启动Spyder可以避免错误。在

然后我发现我安装的版本是:

basemap                   1.2.0            py37h4e5d7af_0
proj                      6.2.0                ha7a8c7b_1    conda-forge
pyproj                    2.4.0            py37h77f86b8_0    conda-forge

显然这是一个拙劣的安装,因为环境中没有espg文件。在

我创建了一个新的测试环境,在那里一切正常,并查看了安装在那里的版本:

^{pr2}$

在删除旧版本并特别安装这些版本之后,现在一切正常。在

你可能想破坏你的环境,重新开始。而且,看起来您几乎已经克隆了基本环境,您确定需要所有这些包吗?在

要移除环境:

conda env remove -n <env name>

要从头开始创建,可以指定多个频道进行搜索。conda forge频道有最新版本,但并不总是稳定的。建议尽可能使用默认频道。尝试使用以下方法创建环境:

^{pr2}$ 编辑

似乎有人在编译proj时没有检查依赖关系。如果你跑了

conda search proj=6.2.0  info -c conda-forge

它显示了一个- proj4 ==999999999999的约束。在

相关问题 更多 >