根据the official Python documentations或to this post,将自己的模块导入脚本非常容易。基本上我只需要创建我的.py文件,将它们保存在一个目录中,我可以使用
from my_module import my_function
这正是我在我的项目中所做的。我写了两个脚本并将它们保存在一个目录中。我想在第三个脚本中使用它们的一些函数(同样它保存在同一个目录中)。如下图所示。在
![My python scripts](https://i.stack.imgur.com/UVWnH.png)
现在我导入WebScraper.py按以下方式
![enter image description here](https://i.stack.imgur.com/bp3RV.png)
正如您在上图中看到的,有一个错误,说明没有名为WebScraper的模块。我该如何处理这个问题?在
Tags:
你在用spyder。在
你需要做的就是在spyder文件浏览器转到你的项目ie
/User/david/Document/Python/Project/
然后关闭ipython终端并在文件资源管理器中启动一个新的on(在您转到project文件夹之后)。在
为什么您的方法不起作用,因为ipython将python的执行路径作为文件资源管理器(spyder)中打开的当前路径
运行代码,它会工作的
另一方面你需要提供相对路径和使用
在Spyder IDE中,正如我从屏幕截图中看到的,当前工作目录(显示在右上角)与脚本所在的目录(显示在编辑器面板的顶部)不同。在
如果您打开“工具”菜单,选择“首选项”,然后切换到“运行”选项卡,您会发现一个名为“工作目录设置”的框,您可以在其中选择“正在执行的文件的目录”或“当前工作目录”。我怀疑,事实上,你选择了后者。这就解释了为什么找不到模块。在
使用默认设置-“正在执行的文件的目录”,Spyder只需在自己的文件夹中执行脚本,脚本就可以找到模块了。在
默认情况下,大多数应用程序都有默认的工作目录。在
例如:如果您打开命令提示符,它的提示符类似于Windows中的
C:\Users\<username>
,MAC中的/Users/<username>
。在当然,Spyder也会有自己的工作目录。无论何时执行任何脚本,Spyder都会首先查看该脚本。在
我的建议是通过程序检查工作目录并导航到正确的位置(如果我们在错误的地方)。看看下面的代码。在
在这次尝试导入之后,它会起作用的。在
如果您愿意,可以将此路径附加到
sys.path
列表中。在相关问题 更多 >
编程相关推荐