我试图运行一个脚本,启动,除其他外,一个python脚本。我得到一个ImportError:没有模块命名为…但是,如果我启动ipython并通过解释器以相同的方式导入相同的模块,则该模块将被接受。

发生了什么事,我该怎么解决?我试图理解python如何使用PYTHONPATH,但我完全困惑了。任何帮助都将不胜感激。


当前回答

主要原因是系统。Python和IPython的路径不同。

请参考lucypark link,解决方案适合我的情况。它发生在安装opencv by

Conda安装opencv

在iPython中导入错误,有三个步骤来解决这个问题:

import cv2
ImportError: ...

1. 使用以下命令检查Python和iPython中的路径

import sys
sys.path

你会发现Python和Jupyter的结果不同。第二步,只需使用sys.path.append通过尝试和错误来修复错过的路径。

2. 临时解决方案

在iPython:

import sys
sys.path.append('/home/osboxes/miniconda2/lib/python2.7/site-packages')
import cv2

ImportError: . .问题解决了

3.永久的解决方案

创建一个iPython配置文件并设置初始追加:

在bash shell中:

ipython profile create
... CHECK the path prompted , and edit the prompted config file like my case
vi /home/osboxes/.ipython/profile_default/ipython_kernel_config.py

在vi中,在文件后面追加:

c.InteractiveShellApp.exec_lines = [
 'import sys; sys.path.append("/home/osboxes/miniconda2/lib/python2.7/site-packages")'
]

DONE

其他回答

主要原因是系统。Python和IPython的路径不同。

请参考lucypark link,解决方案适合我的情况。它发生在安装opencv by

Conda安装opencv

在iPython中导入错误,有三个步骤来解决这个问题:

import cv2
ImportError: ...

1. 使用以下命令检查Python和iPython中的路径

import sys
sys.path

你会发现Python和Jupyter的结果不同。第二步,只需使用sys.path.append通过尝试和错误来修复错过的路径。

2. 临时解决方案

在iPython:

import sys
sys.path.append('/home/osboxes/miniconda2/lib/python2.7/site-packages')
import cv2

ImportError: . .问题解决了

3.永久的解决方案

创建一个iPython配置文件并设置初始追加:

在bash shell中:

ipython profile create
... CHECK the path prompted , and edit the prompted config file like my case
vi /home/osboxes/.ipython/profile_default/ipython_kernel_config.py

在vi中,在文件后面追加:

c.InteractiveShellApp.exec_lines = [
 'import sys; sys.path.append("/home/osboxes/miniconda2/lib/python2.7/site-packages")'
]

DONE

无需脚本的解决方案:

打开Spyder -> Tools -> PYTHONPATH管理器 通过点击“Add Path”添加Python路径。 例如:C: \ \用户用户\ AppData \本地Python \程序\ \ Python37 \ Lib \网站” 点击“同步…”允许其他程序(例如Jupyter Notebook)使用步骤2中设置的pythonpaths。 重启Jupyter,如果它是打开的

这可能是由于系统上安装了不同的python版本,即python2或python3。

运行命令$ pip——version和$ pip3——version检查哪个pip来自Python 3x。例如,你应该看到如下版本信息:

pip 19.0.3 from /usr/local/lib/python3.7/site-packages/pip (python 3.7)

然后使用以下命令运行example.py脚本

$ python3 example.py

在运行python项目时,只需在显示错误的文件夹下创建一个名为__init__.py的空python文件。

有一个类似的问题,通过调用python3而不是python来修复它,我的模块是Python3.5。