当前位置: 首页 > 知识库问答 >
问题:

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

马博学
2023-03-14

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

没有名为PIL的模块(Numpy, torch...)

运行此命令时:sudopip安装numpy

返回:

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

运行此命令时:sudopip2installnumpy

返回:要求已经满足(使用升级到升级): Numpy在 /usr/lib/python2.7/dist-packages

当我运行:python时,导入sys,sys.path

它显示:

['', '/home/szy/minicon da2/lib/python27.zip'、'/home/szy/minicon da2/lib/python2.7'、'/home/szy/minicon da2/lib/python2.7/plat-linux2'、'/home/szy/minicon da2/lib/python2.7/lib-tk'、'/home/szy/minicon da2/lib/python2.7/lib-old'、'/home/szy/miniconda2/lib/python2.7/lib-dynload','/home/szy/. loce/lib/python2.7/site-包','/home/szy/minicon da2/lib/python2.7/site-包']

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/dist-packages',/python2.7/python2/local/dist-packages-packages/dist/python2/dist/dist-packages',”Python/extensions','/home/szy/.ipython']

发生了什么?以前,我可以使用python运行html" target="_blank">html" target="_blank">脚本并导入这些模块。

共有1个答案

苏翰学
2023-03-14

确保你在bashrc中给出的python路径是正确的。同样,使用conda环境来尝试同样的方法也很好,因为在python环境中存在混乱。为此,您可以遵循以下步骤:

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

conda create-n test_env python=2.7

康达激活测试环境

康达安装ipykernel

ipython内核安装--nametest_env--user

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

 类似资料:
  • 我正在用Python开发一个包。我使用虚拟环境。我在我的虚拟环境中的. pth路径中设置了模块的根路径,这样我就可以在开发代码和进行测试的同时导入包的模块(问题1:这是一个好方法吗?)。这工作正常(这里有一个例子,这是我想要的行为): 但是,如果我尝试使用PyTest,则会收到一些导入错误消息: 我有点困惑,看起来这表明了一个导入错误,但是Python做得很好,那么为什么PyTest会有问题呢?对

  • 问题内容: 在Python中,我有一个 模块 myModule.py,其中定义了一些函数和一个 main() ,它接受了一些命令行参数。 我通常从bash脚本中调用此main()。现在,我想将所有内容放入一个小 包装中 ,因此我想也许可以将我简单的bash脚本转换为Python脚本并将其放入包装中。 因此,实际上如何 从 MyFormerBashScript.py 的main()函数 调用 myM

  • 问题内容: 我正在尝试使用该软件包在R中导入python模块。该模块可以在这里找到。我克隆了存储库并运行成功。如果打开python shell,则可以导入。但是,当我尝试将其导入RStudio时,出现以下错误: 我在macOS Sierra版本10.12.6上并通过Anaconda安装了python 3.6。我也尝试过给出python的路径为: 当我从终端运行python时,我得到: 不确定pyt

  • 问题内容: 在Python中,是否可以为导入的模块定义别名? 例如: …因此具有别名“ short_name”。 问题答案: 也适用于

  • 问题内容: 如何设置模块导入,以便每个模块都可以访问其他所有模块的对象? 我有一个中等大小的Python应用程序,在各个子目录中都有模块文件。我使用创建了将这些子目录附加到模块并导入一组模块的模块。使用该限定条件引用模块对象。然后,我使用将该模块导入其他模块。现在的代码草率,其中有几处通常是重复的。 首先,应用程序失败,因为未分配某些模块引用。单元测试时,会运行相同的代码。 其次,我担心递归模块导