繁体   English   中英

导入错误:从shell调用python脚本

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM