我遵循了本教程 python.org 并成功上传到PyPI并使用pip进行安装,但我得到的只是
ModuleNotFoundError: No module named 'tomaszslittlehelpers'
有什么建议吗?
从上面的文件夹中的文件导入时,导入在本地进行。
程序包名称为tomaszslittlehelpers
setup.py
:
import setuptools
with open('README.md', 'r') as fh:
long_description = fh.read()
setuptools.setup(
name='tomaszslittlehelpers',
version='0.0.2',
author='TomaszAndrzej',
author_email='',
description='Tomasz\'s Little Helpers',
long_description=long_description,
long_description_content_type='text/markdown',
url='',
packages=setuptools.find_packages(),
classifiers=[
'Programming Language :: Python :: 3',
'License :: OSI Approved :: MIT License',
'Operating System :: OS Independent',
],
python_requires='>=3.7',
)
__init__.py
:
name='tomaszslittlehelpers'
项目树:
tomaszslittlehelpers
build
bdist.win-amd64
dist
tomaszslittlehelpers-0.0.2-py3-none-any.whl
tomaszslittlehelpers-0.0.2.tar.gz
tomaszslittlehelpers.egg-info
dependency_links.txt
PKG-INFO
SOURCES.txt
top_level.txt
__init__.py
LICENSE
README.md
setup.py
pip install tomaszslittlehelpers
安装到
C:\users ... \python37\Lib\site-packages\tomaszslittlehelpers-0.0.1.dist-info
没有tomaszslittlehelpers
文件夹
答案 0 :(得分:7)
您的包装有问题。您的代码未添加到您的发行版。您正在使用packages=setuptools.find_packages(),
,但似乎没有任何要查找的软件包。看起来您的代码在项目根目录的__init__.py
文件中。这很可能行不通。
两种解决方案:
将__init__.py
重命名为tomaszslittlehelpers.py
,并将packages=setuptools.find_packages(),
替换为py_modules=['tomaszslittlehelpers'],
。
将__init__.py
移至tomaszslittlehelpers
子目录,find_packages()
应该可以找到它。
在两种情况下,您都应该能够像这样import tomaszslittlehelpers
导入代码。
答案 1 :(得分:-1)