2016-12-16 66 views
0

我最近升级到OSX塞拉利昂,现在我不能在Python导入任何软件包。当我运行在Python控制台(我使用Pycharm)的标准import numpy我得到Python模块,但不会导入

Traceback (most recent call last): 
    File "<input>", line 1, in <module> 
    File "/Applications/PyCharm CE.app/Contents/helpers/pydev/pydev_import_hook.py", line 21, in do_import 
    module = self._system_import(name, *args, **kwargs) 
ImportError: No module named numpy 

我认为这个问题的时候,从我重新安装了端口,当我的MacPorts迁移,按说明书here到来。我很确定在我升级到Sierra之后,所有的东西都在Python中工作,但是一旦我做到了这一点,就会崩溃。

我首先想到的是要重新安装numpy的,但是当我去命令行和运行pip install numpy,我得到

Requirement already satisfied: numpy in /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python. 

但是,运行which numpy变成了什么都没有,这似乎不可思议,因为它只是告诉我那numpy的安装,我可以在我的电脑上找到它,如果我使用easyfind。由于它可能是相关的,which python给我/opt/local/bin/python

我已经试过a fewdifferent修复,但一直没能得到任何工作至今。我有一种感觉,我错过了一些非常基本的东西,但无法弄清楚它是什么。我在mac 10.12.1上运行python 2.7.12。

+0

首先要排除:您是否尝试过做在python进口PyCharm之外?第二件事是检查'sys.path'应该包含'/ System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python'或者至少与它有直接关系。 –

+1

'numpy'将不起作用,因为numpy不是OS的可执行文件,所以它不知道它在找什么。 – wpercy

+0

我尝试在命令行输入'python',然后从那里导入,尝试导入numpy。它没有抛出任何错误,但是一旦我回去检查,它似乎没有在控制台中工作。在另一方面,几乎所有的我的路径是的''一些变化/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/distribute-0.6.14- py2.7.egg''。和in一样,它们都以'/ opt/local'开头,而不是'/ System'开头。这可能是问题吗? – macinblack

回答

1

在我PyCharm我使用虚拟环境。正如您所建议的那样,升级到Sierra可能会删除Python端口,因此您的虚拟环境可能也需要重新创建。

+0

我不认为我一直在使用任何虚拟环境;我绝对没有故意创建一个。有没有可能我的Pycharm默认使用了一个,我不知道? – macinblack

+0

@macinblack不,它不,但你应该。 –

0

不完全解决原来的问题,但我没弄清楚如何解决它。我刚刚安装了python 3.3(通过macports)并将其设置为我的电脑的默认python,然后重新安装了Pycharm(尽管我可能只是将设置恢复为默认值)。一切似乎现在工作,在蟒蛇3.3,虽然我不得不使用点数为python3.3 -m pip install而不是标准pip install

+0

如果你设置了一个虚拟环境,你不需要指定你的python版本。转到设置>项目>项目翻译>点击齿轮图标>创建VirtualEnv。 –

+0

现在我已经在python 3.3下顺利运行了,是否有使用virtualenv的理由?目前/未来项目有哪些优势? – macinblack

+0

Virtualenvs允许您在不影响项目环境的情况下更新和升级您的全球环境(包括Python版本)。如果您需要移动应用或将其安装在其他地方,它也会使您的需求列表保持整洁。我无法列出您当前项目的优势,因为我对其当前状态一无所知。但是,对于未来的项目,它会避免像这样的问题,因为OS更新不会影响虚拟环境。 –