conda python isn't using the numpy version I try install if I also specify that it should use python 2

↘锁芯ラ 提交于 2019-12-24 05:54:06

问题


I am trying to use condas to install an environment that uses python 2.7 and numpy version 1.10

I try to create such an environment

 conda create -n test2 python=2.7 numpy=1.10

It contends it is going to install the software I specified

The following NEW packages will be INSTALLED:

mkl:        11.3.3-0     
numpy:      1.10.4-py27_2
openssl:    1.0.2l-0     
pip:        9.0.1-py27_1 
python:     2.7.13-0     
readline:   6.2-2        
setuptools: 27.2.0-py27_0
sqlite:     3.13.0-0     
tk:         8.5.18-0     
wheel:      0.29.0-py27_0
zlib:       1.2.8-3

and then activate it and run python

 source activate test2
 python

it informs me I am using python version 2.7.13 and then I try check the numpy version number

 import numpy
 numpy.version.version

It tells me I have version

'1.13.0'

which is not the version I specified. On the other hand, If I skip specifying the python version, it installs python 3, but the correct version of numpy (1.10.4)

Any ideas about what is going on here? Furthermore, how do I fix this? Thanks!

Edit: as per Uvar's comment

 conda create -n test4 python=2.7 numpy=1.10 --no-deps

Tells me

The following NEW packages will be INSTALLED:

numpy:  1.10.4-py27_2
python: 2.7.13-0

but then if I source activate test4 and check the numpy version number, it tells me I am running 1.13.0 again.

Edit 2 (Again in response to a query by Uvar):

 conda list -n test2

returns

# packages in environment at /home/ohnoplus/anaconda3/envs/test2:

#

 mkl                       11.3.3                        0   
 numpy                     1.10.4                   py27_2   
 openssl                   1.0.2l                        0 
 pip                       9.0.1                    py27_1   
 python                    2.7.13                        0   
 readline                  6.2                           2   
 setuptools                27.2.0                   py27_0   
 sqlite                    3.13.0                        0   
 tk                        8.5.18                        0   
 wheel                     0.29.0                   py27_0   
 zlib                      1.2.8                         3

Edit 3: If I source activate test2 and then inside of python import numpy and numpy.__file__ I get the following

'/home/ohnoplus/.local/lib/python2.7/site-packages/numpy/__init__.pyc'

meanwhile if outside of python, but inside of test2, I echo $PATH

I get

/home/ohnoplus/anaconda3/envs/test2/bin:/home/ohnoplus/anaconda3/bin:/home/ohnoplus/bin:/home/ohnoplus/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

Edit 4: @Uvar and @MSeifert point out that I should get my path variables pointing in the right place. I'll experiment with getting this right but I have a couple of questions:

I notice that the python sys.path in test2 appears to be looking in the right place for numpy if I look at sys.paths

 import sys
 print (sys.path)

['', '/home/ohnoplus/anaconda3/envs/test2/lib/python27.zip', '/home/ohnoplus/anaconda3/envs/test2/lib/python2.7', '/home/ohnoplus/anaconda3/envs/test2/lib/python2.7/plat-linux2', '/home/ohnoplus/anaconda3/envs/test2/lib/python2.7/lib-tk', '/home/ohnoplus/anaconda3/envs/test2/lib/python2.7/lib-old', '/home/ohnoplus/anaconda3/envs/test2/lib/python2.7/lib-dynload', '/home/ohnoplus/.local/lib/python2.7/site-packages', '/home/ohnoplus/anaconda3/envs/test2/lib/python2.7/site-packages', '/home/ohnoplus/anaconda3/envs/test2/lib/python2.7/site-packages/setuptools-27.2.0-py2.7.egg']

Should I be updating $PATH in as referenced in the command line, this sys.path variable, or something else?


回答1:


Ok. Got it! When I run sys.path it looks in ".local/lib/python2.7/site-packages" before it looks in "anaconda3/envs/test2/lib/python2.7/site-packages"

I don't think I was ever using the python version in .local, and so I just moved the python2.7 directory out of ~/.local/lib. This seemed to remedy the problem. Now when I import numpy, the version is as expected.

Reference: The discussion linked below, along with the comments of Uvar and MSeifert, pointed me in the direction to solve this problem.

https://github.com/conda/conda/issues/448



来源:https://stackoverflow.com/questions/45597201/conda-python-isnt-using-the-numpy-version-i-try-install-if-i-also-specify-that

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!