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

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


当前回答

import sys
sys.path.append('/Users/{user}/Library/Python/3.7/lib/python/site-packages')
import ta

其他回答

我是这样解决的:

import os
import sys
module_path = os.path.abspath(os.getcwd() + '\\..')
if module_path not in sys.path:
    sys.path.append(module_path)

执行sys.path.append('my-path-to-module-folder')可以工作,但为了避免在每次使用模块时都在IPython中执行此操作,您可以将export PYTHONPATH="my-path-to-module-folder:$PYTHONPATH"添加到~/。bash_profile文件。

这对我来说很有效:我只是在笔记本中更改了我的工作目录

import os

os.chdir("my/path/to/module")
os.getcwd() 

无需脚本的解决方案:

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

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