gpt4 book ai didi

Python 无法从命令行找到模块,但可以从 Eclipse 中找到

转载 作者:太空宇宙 更新时间:2023-11-04 09:11:46 25 4
gpt4 key购买 nike

我是 Python 的新手,遇到了奇怪的错误。我在 Eclipse 和命令行中使用 Eclipse/PyDev 进行开发和 Python 2.7.3。我创建了几个模块,每个文件夹都有 init.py 文件和其他源文件。当我尝试从 eclipse 中使用 __name__ == '__main__' 执行文件时它工作正常但是当我像

这样调用时从命令行
python models.py

Traceback (most recent call last):
File "models.py", line 8, in <module>
from database import uuid_generator
ImportError: No module named database

看起来像enter image description here任何人都可以告诉我什么可能是问题吗?

最佳答案

database 父目录不在 sys.path (pythonpath) 中。尝试在父(顶层)目录中将脚本作为 python -mdatabase.uuid_generator 运行。或者创建一个包装器脚本:

from database.uuid_generator import main

main()

并将它放在数据库的父(顶层)目录中。当您调用此脚本时,它的目录会自动添加到 sys.path 中,因此无需修改 database 目录或 PYTHONPATH 环境变量中的模块即可正常运行。

只有没有 __init__.py 的顶层目录(不是 Python 包)需要在 sys.path 中,即 database 目录不应位于 sys.path 中。

参见 Traps for the unwary .

关于Python 无法从命令行找到模块,但可以从 Eclipse 中找到,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14026996/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com