簡體   English   中英

Pycharm,importError no module name, when using os.system

[英]Pycharm, importError no module name, when using os.system

我正在 Pycharm 中構建一個腳本(我們稱之為script1 ),該腳本調用另一個將參數作為輸入的腳本(我們稱之為script2

當我手動運行script2並為其提供所需的參數時, script2在其中使用xlrdimport 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.systemsubprocess.call或一些其他子功能)

過去幫助我解決此問題的方法是在您通過 os.system 運行的腳本頂部附加主文件路徑

 import sys # for sys.path.append('/home/user/your_folder_with_python_scripts')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM