Conda示例不工作,显示的是更新的而不是旧的numpy?

2 投票
1 回答
679 浏览
提问于 2025-04-18 05:19

我在这里运行了一个例子; http://conda.pydata.org/docs/index.html

我用的是Mac,版本是10.8.5。我可能搞错了什么,因为我最开始在使用Anaconda的时候遇到了一些问题,但我以为现在已经没问题了。为了确认一下,我运行了上面帮助文档中的例子。这个例子只是创建了一个新的conda环境,并且使用了一个旧版本的numpy,然后展示了如何通过source activate [env]来切换到这个环境。

在我的情况下,一切看起来都运行得不错,但numpy的版本却没有变化。你有什么想法吗?非常感谢!

$ ~/anaconda/bin/python2.7
Python 2.7.6 |Anaconda 1.9.2 (x86_64)| (default, Jan 10 2014, 11:23:15)
[GCC 4.0.1 (Apple Inc. build 5493)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy
nu>>> numpy.__version__
'1.8.1'
>>> quit()

$ conda create -p ~/anaconda/envs/trynum16 numpy=1.6 anaconda

$ source activate ~/anaconda/envs/trynum16
discarding ~/anaconda/bin from PATH
prepending ~/anaconda/envs/trynum16/bin to PATH

(~/anaconda/envs/trynum16):~ $ echo $PATH
~/anaconda/envs/trynum16/bin:/usr/local/bin:/Library/Frameworks/Python.framework/Versions/2.7/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin:/usr/local/git/bin:/bin

(~/anaconda/envs/trynum16):~ $ python
Python 2.7.5 |Anaconda 1.8.0 (x86_64)| (default, Oct 24 2013, 07:02:20)
[GCC 4.0.1 (Apple Inc. build 5493)] on darwin
Type "help", "copyright", "credits" or "license" for more information.

>>> import numpy
>>> numpy.__version__
'1.8.1'
>>> quit()

(~/anaconda/envs/trynum16):~ $ echo $PATH
~/anaconda/envs/trynum16/bin:/usr/local/bin:/Library/Frameworks/Python.framework/Versions/2.7/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin:/usr/local/git/bin:/bin

(~/anaconda/envs/trynum16):~ $ source deactivate
discarding ~/anaconda/envs/trynum16/bin from PATH

$ echo $PATH
~/anaconda/bin:/usr/local/bin:/Library/Frameworks/Python.framework/Versions/2.7/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin:/usr/local/git/bin:/bin

1 个回答

3

好的,问题出在用户操作上。我电脑上安装的不是Anaconda的Python版本里有一个numpy库,而这个库在路径中被优先找到!为了找出冲突并解决它,我做了以下步骤。

# Start from Non-Anaconda or Root Python environment
$ source deactivate
$ conda info -e
# conda environments:
trynum16                 ~/anaconda/envs/trynum16
root                  *  ~/anaconda

$ which python
/usr/local/bin/python

$ echo $PATH
/usr/local/bin:~/anaconda/bin:/Library/Frameworks/Python.framework/Versions/2.7/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin:/usr/local/git/bin:/bin

# Amongst many other items, see the 'offending' numpy here
$ pip freeze
numpy==1.8.1

# Without Sudo, got error,
$ pip uninstall numpy
OSError: [Errno 13] Permission denied: '/Library/Python/2.7/site-packages/bson/__init__.py'
# So did Sudo, probably my mistake on the install?
$ sudo pip uninstall numpy

$ source activate ~/anaconda/envs/trynum16
$ conda info -e
# conda environments:
trynum16              * ~/anaconda/envs/trynum16
root                    ~/anaconda
$ python
Python 2.7.6 |Continuum Analytics, Inc.| (default, Jan 10 2014, 11:23:15)
[GCC 4.0.1 (Apple Inc. build 5493)] on darwin
>>> import numpy
>>> numpy.__version__
'1.6.2'

完成这些后,我创建了两个不同版本的conda环境,它们都能正常工作。下面是如何创建第二个环境的步骤。

预检查:
1. 查看PYPI上有哪些numpy版本: https://pypi.python.org/pypi/numpy
这个页面只显示最新版本,所以你可以在这里查看历史版本; 下载链接: http://sourceforge.net/projects/numpy/files/NumPy/

2. 查看Binstar上有哪些numpy版本; https://binstar.org/search?q=numpy

# 3.Which NumPy versions have official, public Conda packages?
$ conda search numpy
Fetching package metadata: ...
numpy                        1.5.1                    py27_0  defaults
#...etc

# This old version Conflicted with Anaconda, so removed that part.
$ conda create -p ~/anaconda/envs/trynum15 numpy=1.5.1
$ source activate /Users/amoroney/anaconda/envs/trynum15
$ conda info -e
# conda environments:
trynum15              *  ~/anaconda/envs/trynum15
trynum16                 ~/anaconda/envs/trynum16
root                     ~/anaconda

$ python
>>> import numpy
>>> numpy.__version__
'1.5.1'

撰写回答