带有pyenv和python的ModuleNotFoundError 3.10.6(不是3.9.13)



多年来,我一直在使用pyenv和我自己的模块。尝试一下3.10.6,事情就会破裂。

以下工作(今天新安装-runbook是我自己的代码(:

pyenv install 3.9.13
pyenv shell 3.9.13
pip install -e ~/code/runbook
runbook -h

当我对3.10.6做同样的操作时,前3个步骤看起来很好,但最后一个失败了。

pyenv install 3.10.6
pyenv shell 3.10.6
pip install -e ~/code/runbook
runbook -h

故障似乎在pyenv包装器脚本中:

$ runbook -h 
Traceback (most recent call last):
File "<path>/.pyenv/versions/3.10.6/bin/runbook", line 33, in <module>
sys.exit(load_entry_point('runbook', 'console_scripts', 'runbook')())
File "<path>/.pyenv/versions/3.10.6/bin/runbook", line 25, in importlib_load_entry_point
return next(matches).load()
File "<path>/.pyenv/versions/3.10.6/lib/python3.10/importlib/metadata/__init__.py", line 171, in load
module = import_module(match.group('module'))
File "<path>/.pyenv/versions/3.10.6/lib/python3.10/importlib/__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
File "<frozen importlib._bootstrap>", line 1004, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'runbook'

我看到一些类似的报告,像这样,但没有解决方案。FWIW,我用的是Mac,但用的是旧款Mac,而不是M1/M2。

我能够通过更新模块的setup.py并在setup调用中添加packages值来解决这个问题。

from setuptools import setup
setup(
name='runbook',
version='1.0.0',
packages=['src'],
entry_points={
'console_scripts': [
'runbook=runbook:main'
]
}
)

如果没有packages行,则任何导入都将失败。

相关内容

  • 没有找到相关文章

最新更新