Pip包在本地工作,但如果我通过pipenv将它安装到另一个环境中则不行
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
的 class 具有一些功能,但我认为这与它在本地工作得很好
我尝试将包导入到这样的项目中:
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
它给 returns 一个错误:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'zermelo'
我试过使用不同的名称和 capitalizing zermelo 但是从 zermelo 导入客户端没有任何效果,但在本地
from zermelo import Client
按照我想要的方式工作 returns 来自 init.py 文件的客户端。
您的 setup.py
没有列出要安装的内容。您必须使用 packages=<a list of packages>
或 py_modules=<a list of .py modules>
.
我为 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
的 class 具有一些功能,但我认为这与它在本地工作得很好
我尝试将包导入到这样的项目中:
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
它给 returns 一个错误:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'zermelo'
我试过使用不同的名称和 capitalizing zermelo 但是从 zermelo 导入客户端没有任何效果,但在本地
from zermelo import Client
按照我想要的方式工作 returns 来自 init.py 文件的客户端。
您的 setup.py
没有列出要安装的内容。您必须使用 packages=<a list of packages>
或 py_modules=<a list of .py modules>
.