首页 文章

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

提问于
浏览
0

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

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

运行此命令时: sudo pip install numpy

返回:

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

运行此命令时: sudo pip2 install numpy

return:需求已经满足(使用--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-package','/ home / szy / miniconda2 / lib / python2.7 / site-package']

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-dadload','/ home / szy / .local / lib / python2.7 / site-packages','/ usr / local / lib / python2.7 / record-packages','/ usr / lib / python2.7 / did-package','/ usr / local / lib / python2 .7 / dist-packages / IPython / extensions','/ home / szy / .ipython']

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

1 回答

  • 0

    确保你在bashrc中给出的python路径是正确的 . 因为在python环境中存在混淆,所以使用conda环境来尝试相同也是一件好事 . 为此,您可以按照以下步骤操作:

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

    conda create -n test_env python = 2.7

    conda激活test_env

    conda安装ipykernel

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

    然后在您创建的环境中安装所需的软件包,并尝试在创建的环境中导入它 .

相关问题