我为 api 创建了一个 pypi 包以从我的学校获取课程并将其上传到 pypi,但是当我安装它时,它无法被识别。它在本地工作得很好。我已经尝试从 startup.py 中删除一些行,modules: []但它似乎没有改变任何东西,并且在本地仍然可以正常工作安装程序.pyfrom setuptools import setupwith open("README.md", "r") as fh: long_description = fh.read()setup( name="zermelo.py", version="1.0.0", license="MIT", url="https://github.com/wouter173/zermelo.py", description="Zermelo api wrapper library for python.", long_description=long_description, long_description_content_type="text/markdown", package_dir={"zermelo": "zermelo"}, install_requires=["requests>=2.17.0"], classifiers=[ "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.7", "Operating System :: OS Independent", "License :: OSI Approved :: MIT License", "Development Status :: 5 - Production/Stable", ])下面是我的文件层次结构:源代码被放入__init__这样的文件中:from .client import Client在.client文件中,client.py我有一个Client用一些函数调用的类,但我认为这与它没有任何关系,因为它在本地工作得很好我尝试将包导入到这样的项目中:from zermelo import Client它在本地工作,但不在 pipenv 中工作。这些是我用来将包上传到 pypi 的命令:python setup.py sdistpython setup.py bdist_wheel sdisttwine upload dist/*这就是我使用 pipenv 的方式:pipenv --python 3.7pipenv install zermelo.pypipenv shellpython>>> from zermelo import Client但这又不起作用,我不知道为什么。当我在 pipenv 中导入它时:from zermelo import Client它返回一个错误:Traceback (most recent call last): File "<stdin>", line 1, in <module>ModuleNotFoundError: No module named 'zermelo'我尝试输入不同的名称并将 zermelo 大写,但从 zermelo 导入客户端但在本地导入客户端没有任何效果from zermelo import Client按照我想要的方式工作,它从init .py 文件返回客户端。
1 回答
呼唤远方
TA贡献1856条经验 获得超11个赞
您setup.py
没有列出要安装的内容。您必须使用packages=<a list of packages>
或py_modules=<a list of .py modules>
。
见https://packaging.python.org/tutorials/packaging-projects/
添加回答
举报
0/150
提交
取消