我试图在正确的python版本中安装numpy,matplotlib和scipy。
最初我使用不同的python版本(3.2,2.7,2.6)进行测试。
我使用:How to uninstall Python 2.7 on a Mac OS X 10.6.4?
删除了所有这些版本之后,我重新安装了Python 2.7.11。 当我尝试使用pip安装numpy,matplotlib和scipy时,我收到以下消息: 要求已经满足(使用--upgrade升级)......
在我的终端中,我尝试了以下内容:
$ which python
/Library/Frameworks/Python.framework/Versions/2.7/bin/python
$ python
Python 2.7.11 (v2.7.11:.....)
.....
>>> import numpy
ImportError: No module named numpy
$ /System/Library/Frameworks/Python.framework/Versions/2.7/bin/python
Python 2.7.10 (default, ......
.....
>>> import numpy
>>> numpy.__version__
'1.8.0rc1'
由于某种原因,这些软件包安装在2.7.10而不是2.7.11,这是我从python.org下载的版本。另外,我甚至不知道如何获得2.7.10版本。
如何解决此问题?
答案 0 :(得分:3)
您还可以使用macports(https://www.macports.org/)安装不同版本的python,numpy和matplotlib。这真的很简单。
或者,你可以使用anaconda(https://www.continuum.io/downloads)来使用conda来实现你的目标。
答案 1 :(得分:3)
我建议使用virtualenv(使用virtualenvwrapper:https://virtualenvwrapper.readthedocs.org)。它很容易设置,将来处理多个Python安装时你绝对没有问题。
我与virtualenv合作多年,并为每个项目创建一个单独的虚拟环境,这个环境总是干净的,我从来不需要处理PATH
,PYTHONPATH
或其他什么。
如果您遵循virtualenvwrapper安装指南,您可以通过以下方式为日常工作创建一个virtualenv:
mkvirtualenv common -p /Library/Frameworks/Python.framework/Versions/2.7/bin/python
这将创建virtualenv并自动激活它,因此您可以立即安装所需的软件包:
pip install matplotlib numpy scipy
每次您想要使用它时,请键入:
workon common
如上所述,您可以通过-p
标志指定python可执行文件。每个virtualenv都将是一个全新的独立Python安装,你可以使用pip来安装你想要的任何东西(当然没有root访问权限)。
答案 2 :(得分:2)
这可能意味着您使用了另一个python版本的pip或easy_install。
安装模块时,请确保使用正确的pip版本。
例如,它可能是/usr/local/bin/pip2.7
。
答案 3 :(得分:0)
如果您从continuum.io安装Anaconda,您将可以访问已经过测试的许多软件包的版本,以使用您感兴趣的Python版本。这是他们发行版当前版本附带的list。
您还可以访问conda
,它是一个包和环境管理器。想想pip + virtualenv。
一旦你有了,你可以做到
conda create -n my_env python=3.6 numpy pandas
这会将Python 3.6以及numpy和pandas的所有依赖项安装到名为my_env
的虚拟环境中。 Conda将确保您拥有可以协同工作的最新软件包。
要访问您的环境,您可以执行以下操作:
activate my_env
现在,您已在该环境中使用这些已安装的软件包运行Python。如果您需要更多套餐,可以conda install package_name
。如果conda无法找到包裹,您仍然可以pip install package_name
。
请注意,作为额外的奖励,您可以通过英特尔MKL获得Numpy的优化和预编译版本。
(来自我之前回答的评论)
我推荐了去Anaconda路线的建议。 特别是如果你正在使用Numpy或依赖于Numpy的任何东西 (Pandas,Scipy,Sci-kit Learn)。 Continuum可以访问英特尔MKL 它为您提供了重要的优化和预编译的C代码 特定于您的操作系统。 docs.continuum.io/mkl-optimizations