gpt4 book ai didi

python - ModuleNotFoundError : No module named after pip install

转载 作者:行者123 更新时间:2023-12-03 23:50:04 26 4
gpt4 key购买 nike

我在 python 包分发中做了我的第一步。
不幸的是,我有 ModuleNotFoundError从 pip 成功安装后。

我的目录布局非常简单:

maindir
|- setup.py
|- pysoft
|- __init__.py
|- main.py
|- pylib.py

主要.py:

import pylib


def main():
print("main program")
pylib.libfunc()


if __name__ == '__main__':
main()


pylib.py:

def libfunc():
print("lib func")

设置.py:

import setuptools


setuptools.setup(
name='pysoft',
version='0.0.21',
author='als',
author_email='als@gnail.com',
description='deploy tester',
py_modules=['pylib'],
packages=setuptools.find_packages(),
python_requires='>=3.6',
entry_points={
'console_scripts': [
'pysoft = pysoft.main:main',
],
},
)


我打包并上传到 test.pypi.org:

python3 setup.py sdist bdist_wheel
python3 -m twine upload --repository-url https://test.pypi.org/legacy/ dist/*

我设置并开始新的 virtualenv并安装我的包:

 python3 -m pip install -i https://test.pypi.org/simple/ pysoft


然后我尝试运行它,但出现错误:

pysoft 
Traceback (most recent call last):
File "/home/fat/buff/tt/bin/pysoft", line 5, in <module>
from pysoft.main import main
File "/home/fat/buff/tt/lib/python3.6/site-packages/pysoft/main.py", line 1, in <module>
import pylib
ModuleNotFoundError: No module named 'pylib'


你能找出我在哪里走错了吗?

最佳答案

你做import pylib好像说 pylib是顶级模块或包。但它不是——它是包 pysoft 的子模块。 .对于正确的导入,请执行以下操作:

from pysoft import pylib
py_modules=['pylib']在您的 setup.py被忽略,因为 setuptools找不到顶级 pylib.py .但是 packages=setuptools.find_packages()作品并包括 pysoft打包成发行版。

关于python - ModuleNotFoundError : No module named <modulename> after pip install,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59305504/

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