![](/img/trans.png)
[英]Import module error when running os.system virtualenv OpenCV
[英]Pycharm, importError no module name, when using os.system
我正在 Pycharm 中构建一个脚本(我们称之为script1 ),该脚本调用另一个将参数作为输入的脚本(我们称之为script2 )
当我手动运行script2并为其提供所需的参数时, script2在其中使用xlrd
( import xlrd
),它运行良好
script1调用script2 (使用os.system()
)如下:
os.system("python script2 -param1 ..")
我得到这个错误:
来自文件 script2
导入 xlrd
导入错误:没有名为“xlrd”的模块
有谁知道如何修理它? 或者让它正常工作?
我确定了我作为输入给出的参数,它们是正确的并且 xlrd 在项目解释器中定义
非常感谢
确保两个文件都在同一文件夹中。 您是否有多个安装/ python虚拟化环境?
更好地使用python代码的方法是定义函数并导入它们:
#script2.py
import xlrd
def foo():
print("I AM IN FOO NOW!")
#script1.py
import script2
script2.foo()
如果哟是肯定不同的进程调用SCRIPT2,可以考虑使用subprocess.check_output
作为稍好API。
您可能在调用错误的python。 如果可以python script2...
运行python script2...
,请使用where python
获取完整路径,并在调用os.system
时使用它,例如:
os.system("c:\pythons7\python script2 -param1 ..")
(顺便说一句- 建议替换 os.system
与subprocess.call
或一些其他子功能)
过去帮助我解决此问题的方法是在您通过 os.system 运行的脚本顶部附加主文件路径
import sys # for sys.path.append('/home/user/your_folder_with_python_scripts')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.