[英]Import Error : Calling python script from shell
我想从外壳运行python脚本。
#! /usr/bin/python
import subprocess
import time
from path.to.my.function1 import function1
from path.to.my.function2 import function2
#some code here
if __name__ == "__main__":
从我的shell命令中,我想像这样运行它:
./myPythonScript.py
结果是:
ImportError: No module named path.to.my.function1
例如,当我从Eclipse运行它时,我没有任何错误。 我的目录中有一些空的_ init _.py文件。
我不想添加
sys.path.append(0, /path/to/my/function1)
因为它需要易于导出。 另外,我也不想将文件路径添加到PYTHONPATH的源文件夹中。 它需要即插即用。
我不知道我是否有其他编译器,还是应该修改#号! 在/ usr / bin中/ Python的。 还是我的PYTHONPATH?
您可以将代码设为python包,然后就可以了。 只需将__init__.py
脚本添加到目录,然后将__main__.py
脚本添加到目录。 if __name__ == '__main__'
请在__main__.py
添加您要执行的代码。 对于导入,添加以下行: from .path.to.my.script import foo
最后,运行python -m <目录名>。 在您的包目录之外。
使用PYTHONPATH = / path / to / package / root,其中包根目录是path
上方的目录
使用-m来运行代码(例如python -m myPythonScript),将模块作为脚本导入。 这个对我有用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.