Python項目IDE可以work,命令行no module

首先分析原因:

IDE中可以工作 \Rightarrow 程序無問題 \RightarrowPython庫都在(IDE讀到,Terminal讀不到)

找IDE和Terminal讀取的不同:

打開Terminal(我的環境pycharm)

python 
>>> import sys
>>> sys.path

['', 'D:\\Anaconda3\\python37.zip', 'D:\\Anaconda3\\DLLs', 'D:\\Anaconda3\\lib', 'D:\\Anaconda3', 'D:\\Anaconda3\\lib\\site-packages', 'D:\\Anaconda3\\lib\\site-packages\\win32', 'D:\\Anaconda3\\lib\\site-packages\\win32\\lib', 'D:\\Anaconda3\\lib\\site-packages\\Pyth
onwin']

"[ ]"裏的內容是我的Terminal環境下的模塊目錄。同理,找到IDE下的模塊導入目錄

# 新建一個Python程序
import sys
print(sys.path)
['D:\\code\\python_design', 'D:\\code\\stdlib-python', 'D:\\code', 'D:\\Anaconda3\\python37.zip', 'D:\\Anaconda3\\DLLs', 'D:\\Anaconda3\\lib', 'D:\\Anaconda3', 'D:\\Anaconda3\\lib\\site-packages', 'D:\\Anaconda3\\lib\\site-packages\\win32', 'D:\\Anaconda3\\lib\\site-pa	ckages\\win32\\lib', 'D:\\Anaconda3\\lib\\site-packages\\Pythonwin']

對比二者之後確實有不同,IDE的模塊明顯更加的豐富,於是我用一個笨辦法:將後者中多出來的路徑全部載入到程序中。

import sys
sys.path.append(r"D:\\code\\python_design")
sys.path.append(r"D:\\Anaconda3\\lib\\site-packages")
sys.path.append(r"D:\\code\\stdlib-python")
sys.path.append(r"D:\\Anaconda3\\lib")

Terminal可以運行,後檢查發現其實只用到了第三條(stdlib-python),原因在於此庫是我離線導入,我的Terminal沒有讀到該位置的庫文件,我需要在程序中額外指定路徑至該庫。需要注意的是完成上述載入之後才能導入報錯的庫:

# 示例如下
import sys
sys.path.append(r"D:\\code\\stdlib-python")
import stdio
import stddraw

之後編譯環境就沒有什麼差別了!

參考:https://blog.csdn.net/CityzenOldwang/article/details/78701990

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章