【发布时间】:2017-05-05 08:29:56
【问题描述】:
我尝试从 python 2.7 顺利过渡到 python 3.X (3.5.2)。这是一个两步的问题,所以我试图说清楚。
1.我用
做了一个简单的试验import numpy as np
(我先做了python3 -m pip install numpy)但我收到以下错误消息
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/dist-packages/numpy/__init__.py", line 180, in <module>
from . import add_newdocs
File "/usr/lib/python2.7/dist-packages/numpy/add_newdocs.py", line 13, in <module>
from numpy.lib import add_newdoc
File "/usr/lib/python2.7/dist-packages/numpy/lib/__init__.py", line 8, in <module>
from .type_check import *
File "/usr/lib/python2.7/dist-packages/numpy/lib/type_check.py", line 11, in <module>
import numpy.core.numeric as _nx
File "/usr/lib/python2.7/dist-packages/numpy/core/__init__.py", line 14, in <module>
from . import multiarray
ImportError: cannot import name 'multiarray'
错误是否与 python2.7 有某种联系?
2. 当我尝试导入已安装的模块时 (pip install module),python3 找不到它们 (ImportError: No module named ...)。在第二种情况下,我认为我安装模块的目录与 python 2.7 连接。
如何将 python3 指向我已经拥有的模块?我的梦想是避免使用python3 -m pip install ModuleName,我不想手动重新安装每个模块(我也不记得我有哪些以及为什么:)。
我使用的是 Ubuntu 16.04.1 LTS。
在我的.bashrc 我有以下部分,可能并不重要,但我尽量提供更多信息
# added by me for the python import module installed outside anaconda2 (i.e.: pygtk)
export PYTHONPATH="${PYTHONPATH}:/usr/lib/python2.7/dist-packages/"
export PYTHONPATH="${PYTHONPATH}:/usr/lib/python2.7/dist-packages/glib/"
非常感谢。
【问题讨论】:
标签: python python-2.7 python-3.x numpy pip