Ubuntu16.04下用Anaconda3安装FiPy的最佳方案及冲突解决
在Ubuntu 16.04上用Anaconda3安装FiPy的解决方案
问题描述
在Ubuntu 16.04机器上尝试用Anaconda3安装FiPy,执行以下命令时出现大量包冲突:
conda create --name FIPY --channel conda-forge python=3 fipy numpy scipy matplotlib pysparse gmsh
冲突错误信息如下:
Collecting package metadata (current_repodata.json): done Solving environment: failed with repodata from current_repodata.json, will retry with next repodata source. Collecting package metadata (repodata.json): done Solving environment: - Found conflicts! Looking for incompatible packages. This can take several minutes. Press CTRL-C to abort. failed UnsatisfiableError: The following specifications were found to be incompatible with each other: Output in format: Requested package -> Available versions Package libstdcxx-ng conflicts for: numpy -> python[version='>=3.8,<3.9.0a0'] -> libstdcxx-ng[version='>=7.2.0|>=9.3.0'] matplotlib -> libstdcxx-ng[version='>=7.2.0|>=7.3.0'] gmsh -> libstdcxx-ng[version='>=10.3.0|>=12|>=9.4.0|>=9.3.0|>=7.5.0|>=7.3.0'] gmsh -> libglu -> libstdcxx-ng[version='>=4.9|>=7.2.0'] pysparse -> numpy[version='>=1.9.3,<2.0a0'] -> libstdcxx-ng[version='>=10.3.0|>=12|>=9.4.0|>=7.3.0|>=4.9|>=11.2.0|>=7.5.0|>=7.2.0'] scipy -> libstdcxx-ng[version='>=10.3.0|>=12|>=9.4.0|>=9.3.0|>=7.5.0|>=7.3.0|>=4.9|>=11.2.0|>=7.2.0'] numpy -> libstdcxx-ng[version='>=10.3.0|>=12|>=9.4.0|>=7.3.0|>=4.9|>=11.2.0|>=7.5.0'] python=3 -> libstdcxx-ng[version='>=11.2.0|>=4.9|>=7.3.0|>=7.5.0|>=9.3.0|>=9.4.0|>=7.2.0'] matplotlib -> matplotlib-base[version='>=3.6.0,<3.6.1.0a0'] -> libstdcxx-ng[version='>=10.3.0|>=12|>=7.5.0|>=4.9|>=11.2.0|>=9.3.0|>=9.4.0'] fipy -> matplotlib-base -> libstdcxx-ng[version='>=10.3.0|>=12|>=9.4.0|>=9.3.0|>=7.5.0|>=7.3.0|>=11.2.0|>=4.9|>=7.2.0'] Package python conflicts for: pysparse -> numpy[version='>=1.9.3,<2.0a0'] -> python[version='2.7.*|3.5.*|3.6.*|>=3.10,<3.11.0a0|>=3.8,<3.9.0a0|>=3.9,<3.10.0a0|>=3.7,<3.8.0a0|>=3.6,<3.7.0a0|>=3.5,<3.6.0a0|3.4.*'] scipy -> python[version='2.7.*|3.5.*|3.6.*|>=2.7,<2.8.0a0|>=3.10,<3.11.0a0|>=3.8,<3.9.0a0|>=3.9,<3.10.0a0|>=3.7,<3.8.0a0|>=3.6,<3.7.0a0|>=3.5,<3.6.0a0|3.4.*'] python=3 numpy -> python_abi=3.8[build=*_cp38] -> python[version='3.10.*|3.8.*|3.9.*|3.7.*'] fipy -> future -> python[version='2.7.*|3.4.*|3.5.*|3.6.*|>=3.5,<3.6.0a0|>=3.6|>=2.7|3.7.*|3.10.*|3.8.*|3.9.*'] numpy -> python[version='2.7.*|3.5.*|3.6.*|>=2.7,<2.8.0a0|>=3.10,<3.11.0a0|>=3.8,<3.9.0a0|>=3.9,<3.10.0a0|>=3.7,<3.8.0a0|>=3.6,<3.7.0a0|>=3.5,<3.6.0a0|3.4.*'] scipy -> python_abi=3.8[build=*_cp38] -> python[version='3.10.*|3.8.*|3.9.*|3.7.*'] matplotlib -> pyqt -> python[version='3.10.*|3.6.*|3.9.*|3.8.*|3.7.*|>=3.6|>=3.0,<=3.9|>=3|>=3.8|<3'] matplotlib -> python[version='2.7.*|3.4.*|3.5.*|>=2.7,<2.8.0a0|>=3.10,<3.11.0a0|>=3.9,<3.10.0a0|>=3.8,<3.9.0a0|>=3.7,<3.8.0a0|>=3.6,<3.7.0a0|>=3.5,<3.6.0a0'] fipy -> python[version='>=2.7,<2.8.0a0|>=3.10,<3.11.0a0|>=3.7,<3.8.0a0|>=3.8,<3.9.0a0|>=3.9,<3.10.0a0|>=3.6,<3.7.0a0'] pysparse -> python[version='>=2.7,<2.8.0a0']
执行conda activate FIPY时提示环境不存在:
Could not find conda environment: FIPY You can list all discoverable environments with `conda info --envs`.
解决方案
关于Python2.7环境的疑问
不需要单独创建Python2.7环境,通过以下步骤在Python3环境下即可成功安装。
可行安装步骤(亲测有效)
在Ubuntu 16.04(base环境为Python3.x)下,按照Anaconda官方推荐步骤安装:
- 创建新环境:
(可替换conda create -n fipyfipy为自定义环境名称) - 激活新环境:
conda activate fipy - 从conda-forge安装FiPy:
conda install -c conda-forge fipy
注意事项
- 不要直接在base环境执行
conda install -c conda-forge fipy,会触发包冲突。 - 原命令冲突原因在于一次性指定过多依赖包,conda无法为Ubuntu 16.04的旧系统版本协调出兼容的依赖组合;通过先创建空环境再单独安装FiPy,conda会自动处理所有兼容依赖的安装。
内容的提问来源于stack exchange,提问作者Deb S. B.
相关产品推荐
相关产品推荐

