首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

setup.py -如何设置子文件夹为主包目录?

在Python中,setup.py是一个用于构建、打包和发布Python项目的脚本文件。它通常与distutils或setuptools库一起使用。

要设置子文件夹为主包目录,可以在setup.py文件中使用packages参数来指定要包含的包。可以使用find_packages()函数来自动查找所有子文件夹中的包。

下面是一个示例的setup.py文件,演示如何设置子文件夹为主包目录:

代码语言:txt
复制
from setuptools import setup, find_packages

setup(
    name='my_package',
    version='1.0',
    packages=find_packages(),
    package_dir={'': 'subfolder'},
    # 其他设置...
)

在上面的示例中,find_packages()函数会自动查找所有子文件夹中的包,并将它们包含在构建中。package_dir参数指定了包的目录结构,其中''表示主包目录,'subfolder'表示子文件夹的名称。

这样设置后,运行python setup.py install命令将会安装子文件夹中的包,并将其作为主包目录的一部分。

推荐的腾讯云相关产品:腾讯云函数(Serverless云函数计算服务),腾讯云容器服务(容器化部署和管理),腾讯云虚拟机(弹性计算云服务器)。

腾讯云函数产品介绍链接地址:https://cloud.tencent.com/product/scf

腾讯云容器服务产品介绍链接地址:https://cloud.tencent.com/product/ccs

腾讯云虚拟机产品介绍链接地址:https://cloud.tencent.com/product/cvm

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

python高级-(15)

总结: 将有联系的模块组织在一起,即放到同一个文件夹下,并且在这个文件夹创建一个名字为__init__.py 文件,那么这个文件夹就称之为 有效避免模块名称冲突问题,让应用组织结构更加清晰 二、_...c2.py sub_D/#D __init__.py d1.py d2.py A是最顶层的,sub_B等是它的,我们可以这样导入: import...此外,我们可以还引用更多的: from A.sub_B import b1 事实上,你可以一直沿的树状结构导入 在我们上边的目录结构中,我们可以发现很多的 __init__.py 文件。...四、发布 1.myModule目录结构体如下: ./ setup.py __init__.py test.py sub_A/ __init__.py...、使用 1、安装的方式 找到模块的压缩 解压 进入文件夹 执行命令python setup.py install 注意: 如果在install的时候,执行目录安装,可以使用python setup.py

57310

亲自动手写一个python库(二)

setup.py是打包程序配置文件,需要设置一些选项。此外,setup.cfg是包含setup.py额外配置信息的文件,我没有用到这其中的设置,所以本项目中其是空的。...caafinder文件夹就是我们要写的Python程序,我们要注意这个文件夹里必须有__init__.py这个文件。 ? 下面是一下setup.py的一些简单配置选项,详细请参考官方文档。 ?...为了避免模块名冲突,Python又引入了按目录来组织模块的方法,称为(Package),是一个带有__init__.py的文件夹,如图中文档所示,我们有一个caafinder,因为它的级有一个_...此时在根目录出现了dist文件夹,里面有name-version.tar.gz这个文件,这就是我们要发布到PyPI的压缩包了。...发布到PyPI 首先我们需要在PyPI上注册一个帐号,并在本地用户根目录下创建文件~/.pypirc,这样以后就不需要输入帐号密码了。 ?

1.1K70

Python中各个模块的介绍和使用

6、扩展:嵌套的 假定我们的的例子有如下的目录结构: ? Phone是最顶层的,Voicedta等是它的。 我们可以这样导入: ?...你也可使用from-import实现不同需求的导入 第一种方法是只导入顶层的,然后使用属性/点操作符向下引用树: ? 此外,我们可以还引用更多的: ?...事实上,你可以一直沿的树状结构导入: ? 在我们上边的目录结构中,我们可以发现很多的__init__.py文件。这些是初始化模块,from-import语句导入时需要用到它。...4、生成发布压缩 python setup.py sdist 打包后,生成最终发布压缩yongGe-1.0.tar.gz ,目录结构。...10、模块的安装使用 1、安装的方式 找到模块的压缩、解压、进入文件夹、执行命令python setup.py install。

1.5K80

Python中的模块介绍和使用1.import2.from…import3.from … import *4.as5.定位模块6.模块制作7.模块中的__all__8.python中的9.

6.扩展:嵌套的 假定我们的的例子有如下的目录结构: ? Phone是最顶层的,Voicedta等是它的。 我们可以这样导入: ?...你也可使用from-import实现不同需求的导入 第一种方法是只导入顶层的,然后使用属性/点操作符向下引用树: ? 此外,我们可以还引用更多的: ?...事实上,你可以一直沿的树状结构导入: ? 在我们上边的目录结构中,我们可以发现很多的__init__.py文件。这些是初始化模块,from-import语句导入时需要用到它。...4.生成发布压缩 �python setup.py sdist 打包后,生成最终发布压缩yongGe-1.0.tar.gz ,目录结构 ?...10.模块的安装使用 1.安装的方式 1.找到模块的压缩 2.解压 3.进入文件夹 4.执行命令python setup.py install 注意: ·如果在install的时候,执行目录安装,

94010

Python:whl安装简介与制作

,输入: python setup.py sdist 此时在目录中生成dist文件夹文件夹中有testpg-1.0.tar.gz文件,用户安装的话只需要testpg-1.0.tar.gz文件即可。...将此文件解压得到testpg-1.0文件夹,会发现该文件夹有我们刚刚书写的3个py文件,还有一个PKG-INFO,打开该文件,会显示该模块的具体信息:由于我们没有设置,所以为UNKOWN Metadata-Version...1.创建一个文件夹,将需要封装的pagtest文件夹(里面为.py文件,需要包括一个__init__.py文件,内容可以为空)放到该文件夹中,然后创建setup.py文件对进行配置: from setuptools...(源代码发布),此命令将会把所有内容在dist/目录打包为pagtest-1.0.0.tar.gz python setup.py sdist 4.上传到PyPI上。...setup.py 文件内容是设置一些打包的配置信息,打包任务需要重点掌握的地方 # coding=utf-8 from setuptools import setup, find_packages

30610

如何制作whl文件「建议收藏」

py_modules=['printtest'], ) 打开终端,定位到该文件夹下,输入: # python setup.py sdist 此时在目录中生成dist文件夹,...将此文件解压得到testpg-1.0文件夹,会发现该文件夹有我们刚刚书写的3个py文件,还有一个PKG-INFO,打开该文件,会显示该模块的具体信息:由于我们没有设置,所以为UNKOWN Metadata-Version...,输入以下命令,模块将会被安装到解释器对应的Lib/site-packages目录下: python setup.py install 安装后,会发现Lib/site-packages目录下存在printtest.py...1.创建一个文件夹,将需要封装的pagtest文件夹(里面为.py文件,需要包括一个__init__.py文件,内容可以为空)放到该文件夹中,然后创建setup.py文件对进行配置: from setuptools...(源代码发布),此命令将会把所有内容在dist/目录打包为pagtest-1.0.0.tar.gz python setup.py sdist 4.上传到PyPI上。

2.7K10

新手如何发布第一个Python项目开源

通常情况下,项目库的根目录包含一个以项目名称命名的文件夹,项目的核心代码应该位于此文件夹中。在这个文件夹之外是运行和构建(测试、文档等)所需的其他代码。...理想情况下,应使用 logging 设置合理的日志记录系统(而不是用 prints 输出)。 理想情况下,应将你的核心代码分配到一个或多个类中。...在你的项目有了一套结构之后,你应该在项目库的根目录下添加 setup.py 文件。...所有测试都应该放在一个专用的文件夹中(例如名为 tests/或 testing 的文件夹)。在这个文件夹中放置你需要的所有测试文件,以便尽可能多地包含你的核心代码。下面是一个如何编写单元测试的示例。...应该在贡献指南中简单地说明你希望外部用户如何协助你改进这个

1.1K20

新手如何发布第一个Python项目开源?这里有一份详细指南

通常情况下,项目库的根目录包含一个以项目名称命名的文件夹,项目的核心代码应该位于此文件夹中。在这个文件夹之外是运行和构建(测试、文档等)所需的其他代码。...理想情况下,应使用 logging 设置合理的日志记录系统(而不是用 prints 输出)。 理想情况下,应将你的核心代码分配到一个或多个类中。...在你的项目有了一套结构之后,你应该在项目库的根目录下添加 setup.py 文件。...所有测试都应该放在一个专用的文件夹中(例如名为 tests/或 testing 的文件夹)。在这个文件夹中放置你需要的所有测试文件,以便尽可能多地包含你的核心代码。下面是一个如何编写单元测试的示例。...应该在贡献指南中简单地说明你希望外部用户如何协助你改进这个

79420

新手如何发布第一个Python项目开源?这里有一份详细指南

通常情况下,项目库的根目录包含一个以项目名称命名的文件夹,项目的核心代码应该位于此文件夹中。在这个文件夹之外是运行和构建(测试、文档等)所需的其他代码。...理想情况下,应使用 logging 设置合理的日志记录系统(而不是用 prints 输出)。 理想情况下,应将你的核心代码分配到一个或多个类中。...在你的项目有了一套结构之后,你应该在项目库的根目录下添加 setup.py 文件。...所有测试都应该放在一个专用的文件夹中(例如名为 tests/或 testing 的文件夹)。在这个文件夹中放置你需要的所有测试文件,以便尽可能多地包含你的核心代码。下面是一个如何编写单元测试的示例。...应该在贡献指南中简单地说明你希望外部用户如何协助你改进这个

1.2K30

详细指南 | 如何在Github发布Python开源

通常情况下,项目库的根目录包含一个以项目名称命名的文件夹,项目的核心代码应该位于此文件夹中。在这个文件夹之外是运行和构建(测试、文档等)所需的其他代码。...理想情况下,应使用 logging 设置合理的日志记录系统(而不是用 prints 输出)。 理想情况下,应将你的核心代码分配到一个或多个类中。...在你的项目有了一套结构之后,你应该在项目库的根目录下添加 setup.py 文件。...所有测试都应该放在一个专用的文件夹中(例如名为 tests/或 testing 的文件夹)。在这个文件夹中放置你需要的所有测试文件,以便尽可能多地包含你的核心代码。下面是一个如何编写单元测试的示例。...应该在贡献指南中简单地说明你希望外部用户如何协助你改进这个

1.7K20

构建自己的Python开源

version 版本号 description 描述 url 地址 license 授权信息 packages 需要处理的目录,也就是包含__init__.py的文件夹 install_requires...需要安装的依赖 data_files 可以用于引入一些额外的信息文件和数据,如图片、配置文件, [('文件要放入的文件夹1',['file1',file2']),('文件要放入的文件夹2',['file3...long_description 的详细描述,后续上传到pypi,可以用于显示在主页上的描述 find_packages():这个函数会默认在和setup.py同一目录下搜索各个含有init.py的...除了通过data_files添加数据文件,还可以通过package_data设置可以被find_packages找到添加的文件: packages = find_packages(exclude=("...'data': ['data/*.dat'], # 包含datadata文件夹中的 *.dat文件 } 写好setup.py文件,可以python setupy install进行安装测试。

1K20

第三章:python项目的结构和的创建

: python项目目录结构以及文件结构 对第二章学习的留言板应用进行整理,封装成 最后学习如何将我们开发的项目发布在PyPI上,与全世界的人分享 ---- 3.1 Python项目 #使用python...在这一部分,我们会尝试吧第二章中卡发的留言板应用放到P有PI上面进行公开,在这个过程中学习一下setup.py 的写法以及如何向PyPI上面上传程序。...在执行过程中我们看到了一些warning,这些waring 指出的项目最好都设置一下,我们将会在后面学会如何进行设置。...接下来,我们来实际用用这个封装用的结构 3.3.3 setup.py 与MANIFEST.in——设置程序信息与捆绑的文件 接下来,我们将在setup.py设置程序的信息,然后啊MANIFEST.in...setup.py设置即可。

1.3K20

python的构建工具setup.py的方法使用示例

一、构建工具setup.py的应用场景在安装python的相关模块和库时,我们一般使用“pip install 模块名”或者“python setup.py install”,前者是在线安装,会安装该的相关依赖...但是在如下场景下,使用python setup.py install会更适合需求:在编写相关系统时,python 如何实现连同依赖一起打包发布?...同一目录下搜索各个含有 __init__.py的。...其实我们可以将统一放在一个src目录中,另外,这个内可能还有aaa.txt文件和data数据文件夹。...参考文献:python安装模块如何通过setup.py安装(超简单)使用setup.py安装python和卸载python的方法python下setuptools的安装详解及No module named

5.1K10

实战教程:如何将自己的Python发布到PyPI上

2.Python发布步骤 下面就开始介绍如何将自己的Python项目发布到PyPI 2.1 创建目录结构 创建一个测试项目,例如project_demo,在该项目下,创建一个待发布的目录,例如:package_mikezhou_talk...2.3 编写核心代码 接下来我们就可以编写自己的代码了,要注意源代码文件夹(仓库里的package_mikezhou_talk目录)的名字与setup.py里配置的名(Name)要一致。...1、准备好上面的步骤, 一个就基本完整了, 剩下的就是打包了,可以使用下面命令打包一个源代码的: python setup.py sdist build 这样在当前目录的dist文件夹下, 就会多出一个...tar.gz结尾的包了: 2、也可以打包一个wheels格式的, 使用下面的命令就可以了: python setup.py bdist_wheel --universal 这样会在dist文件夹下面生成一个...whl文件. 3、或者从setup.py位于的同一目录运行此命令: python3 setup.py sdist bdist_wheel 上面的命令会在dist目录下生成一个tar.gz的源码和一个

2.5K30
领券