[英]Pip package working locally but not if i install it via pipenv into another environment
我為api創建了一個pypi包,以便從學校上課,並將其上傳到pypi,但是在安裝時,它並沒有被認可。 當它在本地工作正常。
我試過從startup.py中刪除一些行,例如modules: []
但似乎沒有任何改變,仍然可以在本地工作
setup.py
from setuptools import setup
with 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
文件中,我有一個名為Client
的類,其中包含一些功能,但我認為這與它沒有任何關系,因為它在本地可以正常工作
我嘗試將包導入到這樣的項目中:
from zermelo import Client
它在本地工作,但在pipenv中不起作用。
這些是我用來將軟件包上傳到pypi的命令:
python setup.py sdist
python setup.py bdist_wheel sdist
twine upload dist/*
這就是我使用pipenv的方式:
pipenv --python 3.7
pipenv install zermelo.py
pipenv shell
python
>>> 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文件返回客戶端。
您的setup.py
沒有列出任何要安裝的內容。 您必須使用packages=<a list of packages>
或py_modules=<a list of .py modules>
。
參見https://packaging.python.org/tutorials/packaging-projects/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.