以前,我使用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运行脚本并导入这些模块。
答案 0 :(得分:0)
确保在bashrc中给定的python路径正确。 另外,最好使用conda环境尝试相同的操作,因为python环境存在混淆。为此,您可以按照以下步骤操作:
创建环境并使用以下命令激活它:
conda create -n test_env python = 2.7
conda激活test_env
conda安装ipykernel
ipython内核安装--name test_env --user
然后在创建的环境中安装所需的软件包,并尝试将其导入到创建的环境中。