命令行运行python文件-‘ModuleNotFoundError: No module named***’

平时都是在IDE(PyCharm)里直接运行Python文件,后来尝试通过命令行来运行的时候,发现出问题了:

Traceback (most recent call last):
File "/opt/web/python_spider/mhouse_spider/car_sold_out/sold_out.py", line 7, in 
from mhouse_spider.util import car_mysqlUtils
ModuleNotFoundError: No module named 'mhouse_spider'

在pycharm编辑器运行时,会将当前工程的所有文件夹路径都作为包的搜索路径;而在命令行中运行时,只是搜索当前路径。所以如果要通过命令行运行的话,我们需要把python文件的路径配置到环境变量中。

解决办法
比较简单的办法就是出错的模块中加上:

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)

当然还有其他办法,如配置环境变量等,这里就不再赘述了。

你可能感兴趣的:(命令行运行python文件-‘ModuleNotFoundError: No module named***’)