我正在开发我的第一个开源项目。
在为项目设置所有内容时,我一步步按照 README.md 进行操作。
现在,我遇到了一个问题。当我尝试运行测试和 src 脚本时,出现以下错误,
ImportError: No module named modules
现在,下面是文件结构。
../
/modules
__init__.py
/src
lyrics.py
/tests
test_lyrics.py
lyrics.py 导入语句
import modules
def test_lyrics():
assert('lyrics' == modules.process_query('paradise lyrics')[0])
这就是错误“导入错误:找不到模块”的地方。
是的,自述文件中的所有要求均已满足。
如果您想查看该项目,请查看在 github 上。
可能是 PYTHONPATH 没有读取模块的目录。要检查这一点,请转到您的主目录并查找
.bashrc
或某种 .profile
文件。您可能需要使用 ls -a
才能查看这些隐藏文件。如果您没有看到列出的模块地址,请将其添加到文件中:
export PYTHONPATH="${PYTHONPATH}:/my/module/path"
确保地址指向具有最高级别
__init__.py
文件的目录,因为 python 使用它来将目录读取为 python 包。
使用
python -m site
可以方便地查看
$PYTHONPATH 环境变量对 sys.path
的影响。
代码作者通常会假设当前目录 在你的路上:
$ export PYTHONPATH=.
如果您打算使用
.
当前目录,
然后仔细注意哪个正在使用
当脚本开始运行时。
您可能想查看此值:os.getcwd()
我参加聚会可能有点晚了,但我可以回答,也许会有帮助。
1)再次检查您的路径。 2)检查您是否使用 >./myProj 参数运行更多参数,而不是
myProj 争论更多的争论。希望能有一点帮助
您可以尝试使用相对导入
from ..modules import process_query
def test_lyrics():
assert('lyrics' == process_query('paradise lyrics')[0])
在 Windows PowerShell 中必须将执行代码的文件夹设置为 PYTHONPATH
$Env:PYTHONPATH = ".\"
Echo $Env:PYTHONPATH
或者如果添加到现有的 PYTHONPATH 值
$Env:PYTHONPATH += ";.\"
Echo $Env:PYTHONPATH