gpt4 book ai didi

python - 无法导入安装在新 Conda 环境中的包

转载 作者:太空狗 更新时间:2023-10-30 01:31:22 28 4
gpt4 key购买 nike

我正在尝试在 HPC 服务器上创建自己的 conda python 环境,但发生了一些非常奇怪的事情。

问题

在创建了一个新的conda环境之后,似乎python在这个环境中没有看到自己,并且使用了基础环境......因此我无法使用安装在新环境中的包,但我可以看到基础环境中的那些环境...

这是我做的

我的环境安装如下:

$ conda create -n niml pip python=3.6.5
$ source activate niml
(niml) $ conda install -c conda-forge luigi

然后我检查我安装的包:

(niml) $ conda list

这是我得到的,非常基本的环境:

# Name                    Version                   Build  Channel
botocore 1.10.61 py_0 conda-forge
ca-certificates 2018.4.16 0 conda-forge
certifi 2018.4.16 py36_0 conda-forge
docutils 0.14 py36_0 conda-forge
jmespath 0.9.3 py_1 conda-forge
libedit 3.1.20170329 h6b74fdf_2
libffi 3.2.1 hd88cf55_4
libgcc-ng 7.2.0 hdf63c60_3
libstdcxx-ng 7.2.0 hdf63c60_3
lockfile 0.12.2 py_1 conda-forge
luigi 2.7.6 py36_0 conda-forge
ncurses 6.1 hf484d3e_0
openssl 1.0.2o 0 conda-forge
pip 10.0.1 py36_0
pyparsing 2.2.0 py_1 conda-forge
python 3.6.5 hc3d631a_2
python-daemon 2.1.2 py36_0
python-dateutil 2.7.3 py_0 conda-forge
readline 7.0 ha6073c6_4
setuptools 39.2.0 py36_0
six 1.11.0 py36_1 conda-forge
sqlite 3.24.0 h84994c4_0
tk 8.6.7 hc745277_3
tornado 4.5.3 py36_0 conda-forge
wheel 0.31.1 py36_0
xz 5.2.4 h14c3975_4
zlib 1.2.11 ha838bed_2

然后我尝试运行 python 并导入我安装的包 luigi,但它没有找到它,导致以下错误。

(niml) $ python

>>> import luigi
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'luigi'

我还尝试导入在基础环境中而不是在新环境中的 numpy,并且它有效。

>>> import numpy

上面的工作,这意味着python认为它在基础环境中运行。

正在运行自己环境中的Python

查了一下是哪个python执行的,确实是新环境下的那个niml:

>>> import sys
>>> sys.executable

'~/.conda/envs/niml/bin/python'

同样从命令行查看,是环境中的python可执行文件:

(niml) $ which python

~/.conda/envs/niml/bin/python

我在 HPC 上运行

我以前创建过数百次 anaconda 环境,但从未遇到过这个问题。唯一的区别是我使用的是 HPC 服务器,因此我必须做这样的事情:

module load python/anaconda3

这是我从可能造成此问题的通常工作流程中看到的唯一区别...

有没有其他人以前遇到过这个问题并且能够解决它??

最佳答案

我试图解决类似的问题并通过 virtualenv 而不是使用 conda 环境解决了这个问题。我相信 Anaconda 和您的机器之间存在冲突,因为两者都认为他们正在控制您的新环境,而在 virtualenv 中设置新环境似乎可以解决。

如果对您有帮助,请引用以下如何使用 virtualenv 设置环境。如果您还没有为新环境创建一个位置:

mkdir ~/virtualenvironment

设置你的虚拟环境:

virtualenv ~/virtualenvironment/niml/ --python=python3.6.5

激活你的环境:

source bin/activate

确保你已经安装了你需要的任何包:

pip install luigi

检查包是否在 python 中正确导入:

python
import luigi

停用:

source deactivate

关于python - 无法导入安装在新 Conda 环境中的包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51461944/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com