某些模块以前可以在python中导入,但现在只能在ipython2

时间:2018-09-14 01:42:40

标签: python linux python-2.7 numpy

以前,我使用pip安装了pytorch,PIL,numpy...。之后,我安装了python3。因此,ipython从python2切换到python3。我必须使用ipython2来启动python2内核。这些模块在ipython2中仍然可以正常工作,但是当我使用python,python2,python2.7运行python脚本时,它们都会引发ImportError:

  

ImportError:没有名为PIL(numpy,torch ...)的模块

运行此命令时:sudo pip install numpy

返回:

  

已满足要求:输入numpy   /usr/local/lib/python3.5/dist-packages(1.15.1)

运行此命令时:sudo pip2 install numpy

返回:已满足要求(使用--upgrade升级):/usr/lib/python2.7/dist-packages中的numpy

当我跑步时:python, import sys, sys.path

显示:

  

['','/home/szy/miniconda2/lib/python27.zip',   '/home/szy/miniconda2/lib/python2.7',   '/home/szy/miniconda2/lib/python2.7/plat-linux2',   '/home/szy/miniconda2/lib/python2.7/lib-tk',   '/home/szy/miniconda2/lib/python2.7/lib-old',   '/home/szy/miniconda2/lib/python2.7/lib-dynload',   '/home/szy/.local/lib/python2.7/site-packages',   '/home/szy/miniconda2/lib/python2.7/site-packages']

numpy的位置不在其中。 和ipython2中的sys.path:

  

['','/ usr / local / bin','/usr/lib/python2.7',   '/usr/lib/python2.7/plat-x86_64-linux-gnu',   '/usr/lib/python2.7/lib-tk'、'/usr/lib/python2.7/lib-old',   '/usr/lib/python2.7/lib-dynload',   '/home/szy/.local/lib/python2.7/site-packages',   '/usr/local/lib/python2.7/dist-packages',   '/usr/lib/python2.7/dist-packages',   '/usr/local/lib/python2.7/dist-packages/IPython/extensions',   '/home/szy/.ipython']

怎么了? 以前,我可以使用python运行脚本并导入这些模块。

1 个答案:

答案 0 :(得分:0)

确保在bashrc中给定的python路径正确。 另外,最好使用conda环境尝试相同的操作,因为python环境存在混淆。为此,您可以按照以下步骤操作:

创建环境并使用以下命令激活它:

conda create -n test_env python = 2.7

conda激活test_env

conda安装ipykernel

ipython内核安装--name test_env --user

然后在创建的环境中安装所需的软件包,并尝试将其导入到创建的环境中。