ModuleNotFoundError
是 Python 中常见的错误之一,通常表示 Python 解释器无法找到指定的模块。当你在命令行中运行 Python 脚本时遇到这个错误,但在进入 Python shell 时可以正常工作,这通常是由于路径配置问题导致的。
sys.path
列表中。PYTHONPATH
环境变量,它可以添加额外的搜索路径。sys.path
你可以在脚本中打印 sys.path
来查看当前的搜索路径:
import sys
print(sys.path)
确保你的模块所在的目录在 sys.path
中。
PYTHONPATH
环境变量你可以通过命令行设置 PYTHONPATH
环境变量,将模块所在的目录添加到搜索路径中:
export PYTHONPATH=/path/to/your/module:$PYTHONPATH
然后在命令行中运行你的脚本。
如果你在使用虚拟环境,确保在命令行中激活了正确的虚拟环境:
source /path/to/your/virtualenv/bin/activate
然后运行你的脚本。
确保你在命令行中运行的脚本路径是正确的。例如:
python /path/to/your/script.py
假设你有一个模块 mymodule.py
在 /home/user/myproject
目录下,你可以这样做:
# mymodule.py
def hello():
print("Hello from mymodule!")
然后在另一个脚本中导入这个模块:
# main.py
import sys
sys.path.append('/home/user/myproject')
import mymodule
mymodule.hello()
在命令行中运行:
python main.py
通过以上方法,你应该能够解决从命令行运行时的 ModuleNotFoundError
问题。
领取专属 10元无门槛券
手把手带您无忧上云