Python 在Spyder中运行脚本时无法导入我自己的模块
根据或,将自己的模块导入脚本非常容易。基本上,我只需要创建我的.py文件,将它们保存在一个目录中,然后使用Python 在Spyder中运行脚本时无法导入我自己的模块,python,python-3.x,spyder,Python,Python 3.x,Spyder,根据或,将自己的模块导入脚本非常容易。基本上,我只需要创建我的.py文件,将它们保存在一个目录中,然后使用 from my_module import my_function 这正是我在项目中所做的。我编写了两个脚本并将它们保存在一个目录中。我想在第三个脚本中使用其中的一些函数(同样,它保存在同一个目录中)。如下图所示 现在我以以下方式导入WebScraper.py 正如您在上面的图片中看到的,有一个错误表明没有名为WebScraper的模块。我如何处理这个问题?您正在使用spyder 您
from my_module import my_function
这正是我在项目中所做的。我编写了两个脚本并将它们保存在一个目录中。我想在第三个脚本中使用其中的一些函数(同样,它保存在同一个目录中)。如下图所示
现在我以以下方式导入WebScraper.py
正如您在上面的图片中看到的,有一个错误表明没有名为WebScraper的模块。我如何处理这个问题?您正在使用spyder
您只需在spyder文件资源管理器中转到您的项目ie即可
/User/david/Document/Python/Project/
然后关闭ipython终端并在文件资源管理器中启动一个新的on(在转到项目文件夹后)
为什么您的方法不起作用,因为ipython将python执行路径作为在文件资源管理器(spyder)中打开的当前路径
运行代码,它就会工作
其他方面,您需要提供相对路径和使用
from . import WebScraper
x=WebScraper().function
在Spyder IDE中,从屏幕截图可以看出,当前工作目录(显示在右上角)与脚本所在的目录(显示在编辑器面板顶部)不同 如果打开“工具”菜单,选择“首选项”,然后切换到“运行”选项卡,您将发现一个名为“工作目录设置”的框,您可以在其中选择“正在执行的文件目录”或“当前工作目录”。事实上,我怀疑你选择了后者。这可以解释为什么找不到模块
默认设置为“正在执行的文件的目录”,Spyder只需在自己的文件夹中执行脚本,脚本在查找模块时不会出现问题。默认情况下,大多数应用程序都有默认的工作目录 例如:如果要打开命令提示符,它的提示符类似于Windows中的
C:\Users\
,MAC中的/Users/
因此,Spyder肯定也会有自己的工作目录。无论何时执行任何脚本,Spyder都会首先尝试查看该脚本
我的建议是通过编程检查工作目录并导航到正确的位置(如果我们在错误的位置)。看看下面的代码
import os
os.getcwd() # Check current directory's path
os.chdir('/Users/david/Documents/Python/Project') # Navigate
在尝试导入之后,它将起作用
如果愿意,您可以将此路径附加到
sys.path
列表中 类似的事情也发生在我身上。
我可以从终端导入,运行python。
在spyder上,使用相同的python版本,我无法导入相同的包。
在尝试了不同的方法后,重新安装Spyder解决了问题。在程序顶部,可以尝试:import sys.path.append(“.”@StanS。不幸的是,没有成功:(请不要发布代码/数据/回溯的图像。只需复制文本,粘贴到问题中,并将其格式化为代码。