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

2024-04-29 14:25:47 发布

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

我正试图在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,它确实是新环境中的python:

>>> import sys
>>> sys.executable

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

也从命令行检查,它是环境中的python可执行文件:

(niml) $ which python

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

我在HPC上运行

我以前创造过几百次水蟒环境,从来没有遇到过这个问题。唯一不同的是,我使用的是一台HPC服务器,因此我不得不这样做:

module load python/anaconda3

这是唯一的区别,我看到从我通常的工作流程,可能是造成这个问题。。。

其他人以前见过这个问题并能解决它吗??


Tags: pippyimportnumpy服务器环境nghpc