我试图运行一个脚本,启动,除其他外,一个python脚本。我得到一个ImportError:没有模块命名为…但是,如果我启动ipython并通过解释器以相同的方式导入相同的模块,则该模块将被接受。
发生了什么事,我该怎么解决?我试图理解python如何使用PYTHONPATH,但我完全困惑了。任何帮助都将不胜感激。
我试图运行一个脚本,启动,除其他外,一个python脚本。我得到一个ImportError:没有模块命名为…但是,如果我启动ipython并通过解释器以相同的方式导入相同的模块,则该模块将被接受。
发生了什么事,我该怎么解决?我试图理解python如何使用PYTHONPATH,但我完全困惑了。任何帮助都将不胜感激。
当前回答
在运行python项目时,只需在显示错误的文件夹下创建一个名为__init__.py的空python文件。
其他回答
如果有人在MSVS Code中使用conda和Jupyter Notebook时遇到这个问题,解决方案是确保您使用了正确的内核。内核位于界面右上角的一个框中,看起来像这样:
我将我的Python版本指向与我的应用程序路径匹配的Python版本——问题解决了!
我发现这个问题的解决方案在这里有大量的文档:
https://jakevdp.github.io/blog/2017/12/05/installing-python-packages-from-jupyter/
基本上,你必须在Jupyter环境中安装包,发出shell命令,比如:
!{sys.executable} -m pip install numpy
请查看上面的链接,以获得权威的完整答案。
这对我来说很有效:我只是在笔记本中更改了我的工作目录
import os
os.chdir("my/path/to/module")
os.getcwd()
这可能是由于系统上安装了不同的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
执行sys.path.append('my-path-to-module-folder')可以工作,但为了避免在每次使用模块时都在IPython中执行此操作,您可以将export PYTHONPATH="my-path-to-module-folder:$PYTHONPATH"添加到~/。bash_profile文件。