平時(shí)都是在IDE(PyCharm)里直接運(yùn)行Python文件翩概,后來嘗試通過命令行來運(yùn)行的時(shí)候筒占,發(fā)現(xiàn)出問題了:
Traceback (most recent call last):
File "/opt/web/python_spider/mhouse_spider/car_sold_out/sold_out.py", line 7, in <module>
from mhouse_spider.util import car_mysqlUtils
ModuleNotFoundError: No module named 'mhouse_spider'
在pycharm編輯器運(yùn)行時(shí)绢馍,會(huì)將當(dāng)前工程的所有文件夾路徑都作為包的搜索路徑乍楚;而在命令行中運(yùn)行時(shí),只是搜索當(dāng)前路徑享甸。所以如果要通過命令行運(yùn)行的話,我們需要把python文件的路徑配置到環(huán)境變量中梳侨。
解決辦法
比較簡單的辦法就是出錯(cuò)的模塊中加上:
import os
import sys
curPath = os.path.abspath(os.path.dirname(__file__))
parentPath = os.path.split(curPath)[0]
rootPath = os.path.split(parentPath)[0]
sys.path.append(rootPath)
當(dāng)然還有其他辦法蛉威,如配置環(huán)境變量等,這里就不再贅述了走哺。