[英]Import own .py files in anaconda spyder
我已经用蜘蛛(anaconda)编写了自己的 mail.py 模块。 我想通过“导入邮件”将这个 py 文件导入到其他 python (spider) 文件中
我在互联网上搜索,找不到明确的解决方案。
要导入任何 python 脚本,它应该存在于 PYTHONPATH 中。 您可以使用以下代码进行检查:
import sys
print sys.path
要导入您的 Python 脚本:
例如,如果脚本位于“/location/to/file/script.py”:
import sys
sys.path.append('/location/to/file/')
import script
我遇到了同样的问题,我的文件在同一个文件夹中,但在导入“to_be_imported_file.py”时抛出错误。
在将“to_be_imported_file.py”导入另一个文件之前,我必须单独运行它。
我希望它也适用于你。
有很多选择,例如
我做了一个稍微不同的解决方法,它不太复杂。 当我启动 anaconda 终端时,它处于 C 提示符下。 在启动 python 之前,我只是在开始窗口中做了一个 cd d:\\mypython\\lib 。 一旦我这样做了,我就可以简单地导入我自己放入该库中的类,并使用“将 MyClass 作为我的导入”,然后我就可以开始运行了。 有趣的是,我在业余时间在网上搜索了2天,也没有找到答案,直到我问了一个朋友。
cd d:\mypython\lib
python
>>> import MyClass as my
>>> my1=my.MyClass()
>>> my1.doSomething()
在我的 anaconda/windows 10 环境 python 3.6.6 上为我工作。
从另一个文件调用任何函数时,应注意不要在函数内部导入任何库
搜索了这个问题的答案。 要将.py
文件用作主文件夹中的导入模块,您需要将两个文件放在一个文件夹中或在该位置附加路径。 如果你将两个文件都存放在一个文件夹中,那么在spyder界面的右上角查看工作目录。 由于错误的工作目录,您将看到ModuleNotFoundError
。
我相信最简单的解决方案是将包含 Python 文件的目录放入机器上的 Anaconda site-packages 文件夹中。 我写了一篇概述整个过程的文章,但简而言之,您需要创建一个包含 Python 脚本和__init__.py
文件的文件夹。 然后将该文件夹放在 Anaconda 目录中的 site-packages 文件夹中。
在 Windows 上, site-packages
目录通常位于:
C:\\Users\\[your_username]\\Anaconda3\\Lib\\site-packages\\
在 Mac 上, site-packages
目录通常位于: Users/[your_username]/opt/anaconda3/lib/[python3.8]/site-packages/
请注意,在 Mac 上,Python 版本很重要。 您需要查找与 Anaconda 使用的(base)
Python 版本对应的目录。 此外,我在上面文件路径中放置在方括号内的任何内容都需要根据您的特定机器和 Python 版本进行更改。
文件结构应如下所示:
~/
|__site-packages/
|__your_folder/
script.py
__init__.py
将包含script.py
和__init__.py
文件的文件夹移动到 Anaconda 的site-packages
子目录后,您就可以从您机器上运行的任何脚本中导入它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.