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