我正试图在HPC服务器上创建自己的conda环境,而且正在发生一些非常奇怪的事情。
问题
在创建了一个新的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/pythonI运行在HPC上
我以前已经创造了数百次anaconda环境,从来没有遇到过这个问题。唯一的区别是,我使用的是HPC服务器,因此我不得不这样做:
module load python/anaconda3这是我看到的唯一区别,我通常的工作流程可能造成这个问题.
其他人以前见过这个问题并能解决吗??
发布于 2018-08-30 17:28:36
我试图解决一个类似的问题,并通过virtualenv而不是使用conda环境来解决这个问题。我相信,Anaconda和您的机器之间存在着冲突,因为它们都认为自己正在控制您的新环境,而在虚拟环境中建立一个新的环境似乎是可以解决的。
如果有用的话,下面是如何使用virtualenv设置环境。如果您还没有新环境,请为其创建一个位置:
mkdir ~/virtualenvironment设置虚拟环境:
virtualenv ~/virtualenvironment/niml/ --python=python3.6.5激活你的环境:
source bin/activate确保您已经安装了所需的任何软件包:
pip install luigi检查包是否在python中正确导入:
python
import luigi停用:
source deactivate发布于 2022-04-17 14:51:12
我遇到了同样的问题,但后来我发现,我的错误是由于污染的环境变量。我在修窗户。
要解决这个问题,在运行"conda activate ***"之前,请确保没有设置/修改以下变量:
然后,我的导入错误就修复了。
https://stackoverflow.com/questions/51461944
复制相似问题