如何在 python3 中将 python 个包和子包打包为单个包
how to pack python packages and sub-packages as single package in python3
我正在尝试创建具有以下结构的 python 包。当我尝试创建包 testproject 时,它正在成功创建并成功上传到 https://test.pypi.org/legacy/
testproject/
testproject/
Core/
__init__.py
BaseModel.py
lib/
__init__.py
RunModel.py
__init__.py
RunWorkflow.py
LICENSE
README.md
setup.py
当我尝试将它下载到我的新环境时,它正在将正确的版本下载到我的环境,当我 运行 conda list 我可以看到正确版本的安装包。
实际问题是当我尝试 运行 help('modules') 命令时,它 returns 所有子包 [Core 和 lib] 也是。当我看到其他软件包时,例如 os、numpy、scikit-learn。它没有在 help('modules') 中显示其子包。
我怎样才能避免这种情况,我做错了什么吗?
请在下面找到我的setup.py。
import setuptools
with open("README.md", "r") as fh:
long_description = fh.read()
setuptools.setup(
name='Test-Project-pypi',
version='0.0.1',
author="Manikandan Jeyabal",
author_email="ManikandanJeyabal029@gmail.com",
description="My longdestription",
long_description=long_description,
long_description_content_type="text/markdown",
packages=setuptools.find_packages(),
classifiers=[
"Development Status :: 3 - Alpha",
"Intended Audience :: Developers",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.4",
"Programming Language :: Python :: 3.5",
"Programming Language :: Python :: 3.6",
"License :: OSI Approved :: MIT License",
"Operating System :: OS Independent",
],
install_requires=[
"numpy <=1.17.4", "pandas", "scikit-learn >= 0.21.3, <= 0.22"
],
python_requires='>=3.7'
)
通过在 'testproject'
下的 Main init.py 中添加以下代码解决了这个问题
from . import Core
from . import lib
我正在尝试创建具有以下结构的 python 包。当我尝试创建包 testproject 时,它正在成功创建并成功上传到 https://test.pypi.org/legacy/
testproject/
testproject/
Core/
__init__.py
BaseModel.py
lib/
__init__.py
RunModel.py
__init__.py
RunWorkflow.py
LICENSE
README.md
setup.py
当我尝试将它下载到我的新环境时,它正在将正确的版本下载到我的环境,当我 运行 conda list 我可以看到正确版本的安装包。
实际问题是当我尝试 运行 help('modules') 命令时,它 returns 所有子包 [Core 和 lib] 也是。当我看到其他软件包时,例如 os、numpy、scikit-learn。它没有在 help('modules') 中显示其子包。
我怎样才能避免这种情况,我做错了什么吗?
请在下面找到我的setup.py。
import setuptools
with open("README.md", "r") as fh:
long_description = fh.read()
setuptools.setup(
name='Test-Project-pypi',
version='0.0.1',
author="Manikandan Jeyabal",
author_email="ManikandanJeyabal029@gmail.com",
description="My longdestription",
long_description=long_description,
long_description_content_type="text/markdown",
packages=setuptools.find_packages(),
classifiers=[
"Development Status :: 3 - Alpha",
"Intended Audience :: Developers",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.4",
"Programming Language :: Python :: 3.5",
"Programming Language :: Python :: 3.6",
"License :: OSI Approved :: MIT License",
"Operating System :: OS Independent",
],
install_requires=[
"numpy <=1.17.4", "pandas", "scikit-learn >= 0.21.3, <= 0.22"
],
python_requires='>=3.7'
)
通过在 'testproject'
下的 Main init.py 中添加以下代码解决了这个问题from . import Core
from . import lib