Python 3.x 如何在python3中将python包和子包打包为单个包
我正在尝试创建一个结构如下的python包。当我尝试创建包testproject时,它正在成功创建并成功上载到 当我尝试将其下载到我的新环境时,它正在将正确的版本下载到我的环境中,当我运行conda list时,我可以看到安装的软件包的正确版本 实际的问题是,当我试图运行help('modules')命令时,它也会返回所有的子包[Core和lib]。当我看到其他软件包时,例如os,numpy,scikit learn。它没有在帮助(“模块”)中显示其子包。 我怎样才能避免这种情况,我在这里做错了什么吗 请在下面找到我的setup.pyPython 3.x 如何在python3中将python包和子包打包为单个包,python-3.x,setuptools,packaging,python-packaging,Python 3.x,Setuptools,Packaging,Python Packaging,我正在尝试创建一个结构如下的python包。当我尝试创建包testproject时,它正在成功创建并成功上载到 当我尝试将其下载到我的新环境时,它正在将正确的版本下载到我的环境中,当我运行conda list时,我可以看到安装的软件包的正确版本 实际的问题是,当我试图运行help('modules')命令时,它也会返回所有的子包[Core和lib]。当我看到其他软件包时,例如os,numpy,scikit learn。它没有在帮助(“模块”)中显示其子包。 我怎样才能避免这种情况,我在这里做错了
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'
)
导入设置工具
以open(“README.md”、“r”)作为fh:
long_description=fh.read()
setuptools.setup(
name='Test-Project-pypi',
version='0.0.1',
作者=“Manikandan Jeyabal”,
作者_电子邮件=”ManikandanJeyabal029@gmail.com",
description=“My Longdesription”,
长描述=长描述,
长\u描述\u内容\u type=“text/markdown”,
packages=setuptools.find_packages(),
分类器=[
“发展状况:3-阿尔法”,
“预期受众::开发者”,
“编程语言::Python::3”,
“编程语言::Python::3.4”,
“编程语言::Python::3.5”,
“编程语言::Python::3.6”,
“许可证::OSI已批准::MIT许可证”,
“操作系统::独立于操作系统”,
],
安装所需的=[
“numpy=0.21.3,通过在Maininit.py中的“testproject”下添加以下代码解决了此问题”
from . import Core
from . import lib
显示您的setup.py
。或者更好的是显示整个存储库。在任何情况下,您都可以在PyPI上发布代码,那么为什么要将其隐藏在此处?您在帮助(“模块”)的输出中看到了什么
这让你很困扰?好像你看到了testproject.Core
和testproject.lib
,真的是这样吗?Hi@phd我在问题中附上了我的setup.py,请查找。Hi@sinoroc,很好地描述了我的问题。我在testproject中有Core包,但不访问testproject,我可以访问Core-lik中的模块它应该可以像form testproject.Core.BaseModel import BaseModel
一样访问,但是在我的例子中,我可以直接从Core.BaseModel import BaseModel
访问它,它似乎Core
和lib
成为顶级包。但是我不知道这setup.py
是怎么可能的。
from . import Core
from . import lib