Pycharm, importError no module name, when using os.system
Pycharm, importError no module name, when using os.system
我正在 Pycharm 中构建一个脚本(我们称之为 script1),该脚本调用另一个脚本(我们称之为 script2) 将参数作为输入
script2 正在使用 xlrd
(import xlrd
)
当我手动 运行 script2 并给它所需的参数时,它工作得很好
script1,调用 script2(使用 os.system()
)如下:
os.system("python script2 -param1 ..")
我得到这个错误:
from file script2
import xlrd
ImportError: No module named 'xlrd'
有人知道怎么解决吗?或者让它正常工作?
我确认输入的参数是正确的
并且 xlrd 在项目解释器中定义
非常感谢
确保两个文件都在同一个文件夹中。你有超过 installation/virtualenv 个 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...
有效,请使用 where python
获取完整路径并在调用 os.system
时使用它,例如:
os.system("c:\pythons7\python script2 -param1 ..")
(顺便说一句 - It is recommended to replace os.system
与 subprocess.call
或其他一些子流程功能)
过去帮助我解决这个问题的方法是在脚本顶部附加主文件路径,你是 运行 到 os.system
import sys
# for
sys.path.append('/home/user/your_folder_with_python_scripts')
我正在 Pycharm 中构建一个脚本(我们称之为 script1),该脚本调用另一个脚本(我们称之为 script2) 将参数作为输入
script2 正在使用 xlrd
(import xlrd
)
当我手动 运行 script2 并给它所需的参数时,它工作得很好
script1,调用 script2(使用 os.system()
)如下:
os.system("python script2 -param1 ..")
我得到这个错误:
from file script2
import xlrd
ImportError: No module named 'xlrd'
有人知道怎么解决吗?或者让它正常工作?
我确认输入的参数是正确的 并且 xlrd 在项目解释器中定义
非常感谢
确保两个文件都在同一个文件夹中。你有超过 installation/virtualenv 个 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...
有效,请使用 where python
获取完整路径并在调用 os.system
时使用它,例如:
os.system("c:\pythons7\python script2 -param1 ..")
(顺便说一句 - It is recommended to replace os.system
与 subprocess.call
或其他一些子流程功能)
过去帮助我解决这个问题的方法是在脚本顶部附加主文件路径,你是 运行 到 os.system
import sys
# for
sys.path.append('/home/user/your_folder_with_python_scripts')