为了账号安全,请及时绑定邮箱和手机立即绑定

Pip 包在本地工作,但如果我通过 pipenv 将它安装到另一个环境中则不能

Pip 包在本地工作,但如果我通过 pipenv 将它安装到另一个环境中则不能

拉莫斯之舞 2022-05-19 14:10:01
我为 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/


查看完整回答
反对 回复 2022-05-19
  • 1 回答
  • 0 关注
  • 116 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信