作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 python 包分发中做了我的第一步。
不幸的是,我有 ModuleNotFoundError
从 pip 成功安装后。
我的目录布局非常简单:
maindir
|- setup.py
|- pysoft
|- __init__.py
|- main.py
|- pylib.py
import pylib
def main():
print("main program")
pylib.libfunc()
if __name__ == '__main__':
main()
def libfunc():
print("lib func")
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',
],
},
)
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/
我是一名优秀的程序员,十分优秀!