Python 如何使用twistd导入自定义模块
我有一个python文件,我想使用twistd运行它。在文件中,我有:Python 如何使用twistd导入自定义模块,python,twisted,Python,Twisted,我有一个python文件,我想使用twistd运行它。在文件中,我有: from parser import Parser 我还有一个parser.py文件,里面有一个parser类 当我使用以下命令调用脚本时,一切正常: python myscript.py 但我称之为: twistd -y myscript.py 它给了我这个错误: from parser import Parser exceptions.ImportError: cannot import name Parser
from parser import Parser
我还有一个parser.py
文件,里面有一个parser
类
当我使用以下命令调用脚本时,一切正常:
python myscript.py
但我称之为:
twistd -y myscript.py
它给了我这个错误:
from parser import Parser
exceptions.ImportError: cannot import name Parser
我缺少什么?作为模块导入的源文件需要在Python导入路径上可以发现
python
将包含脚本路径的目录添加到导入路径。由于parser.py
与myscript.py
位于同一目录中,这使得parser
可导入twistd
(我想从2016年的某个版本开始)没有做到这一点(添加路径被认为是一个安全问题,类似于在path
环境变量中添加
所产生的问题)
你有几个选择
最佳选项:为项目创建setup.py。创建一个虚拟视频。使用pip Install-e…
将项目安装到其中
平庸选项:将包含源文件的目录添加到PYTHONPATH环境变量中