我试图运行一个脚本,启动,除其他外,一个python脚本。我得到一个ImportError:没有模块命名为…但是,如果我启动ipython并通过解释器以相同的方式导入相同的模块,则该模块将被接受。
发生了什么事,我该怎么解决?我试图理解python如何使用PYTHONPATH,但我完全困惑了。任何帮助都将不胜感激。
我试图运行一个脚本,启动,除其他外,一个python脚本。我得到一个ImportError:没有模块命名为…但是,如果我启动ipython并通过解释器以相同的方式导入相同的模块,则该模块将被接受。
发生了什么事,我该怎么解决?我试图理解python如何使用PYTHONPATH,但我完全困惑了。任何帮助都将不胜感激。
当前回答
无需脚本的解决方案:
打开Spyder -> Tools -> PYTHONPATH管理器 通过点击“Add Path”添加Python路径。 例如:C: \ \用户用户\ AppData \本地Python \程序\ \ Python37 \ Lib \网站” 点击“同步…”允许其他程序(例如Jupyter Notebook)使用步骤2中设置的pythonpaths。 重启Jupyter,如果它是打开的
其他回答
我有一个类似的问题与我的Jupyter实验室设置,我通过检查Jupyter实验室日志打开解决。这告诉我,虚拟环境(pipenv)无法定位Jupyter Lab,所以它使用了一个共享版本(来自Python的早期安装)。
我创建了一个requirements.txt文件,发现我没有在这个新环境中安装Jupyter Lab。安装它解决了导入错误。
在运行python项目时,只需在显示错误的文件夹下创建一个名为__init__.py的空python文件。
import sys
sys.path.append('/Users/{user}/Library/Python/3.7/lib/python/site-packages')
import ta
确保它们都使用相同的解释器。我在Ubuntu上遇到了这样的情况:
$ ipython3 -c 'import sys; print(sys.version)'
3.4.2 (default, Jun 19 2015, 11:34:49) \n[GCC 4.9.1]
$ python3 -c 'import sys; print(sys.version)'
3.3.0 (default, Nov 27 2012, 12:11:06) \n[GCC 4.6.3]
和系统。两位译员的路线不同。为了解决这个问题,我删除了Python 3.3。
无需脚本的解决方案:
打开Spyder -> Tools -> PYTHONPATH管理器 通过点击“Add Path”添加Python路径。 例如:C: \ \用户用户\ AppData \本地Python \程序\ \ Python37 \ Lib \网站” 点击“同步…”允许其他程序(例如Jupyter Notebook)使用步骤2中设置的pythonpaths。 重启Jupyter,如果它是打开的