Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何使用twistd导入自定义模块_Python_Twisted - Fatal编程技术网

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

我有一个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

我缺少什么?

作为模块导入的源文件需要在Python导入路径上可以发现
python
将包含脚本路径的目录添加到导入路径。由于
parser.py
myscript.py
位于同一目录中,这使得
parser
可导入
twistd
(我想从2016年的某个版本开始)没有做到这一点(添加路径被认为是一个安全问题,类似于在
path
环境变量中添加
所产生的问题)

你有几个选择

最佳选项:为项目创建setup.py。创建一个虚拟视频。使用
pip Install-e…
将项目安装到其中

平庸选项:将包含源文件的目录添加到PYTHONPATH环境变量中