设置带有子包的 python 包的正确方法

2024-01-31

我正在尝试在 python 中设置一个带有子包的包。这是我目前拥有的树结构:

myPackage
├── __init__.py
├── mySubPackage1
│   ├── foo2.py
│   ├── foo.py
│   └── __init__.py
├── mySubPackage2
│   ├── bar2.py
│   ├── bar.py
│   └── __init__.py
└── setup.py

All __init__.py是空的。这是我的setup.py:

from distutils.core import setup

if __name__ == "__main__":
    setup(
        name='myPackage',
        package_dir = {
            'mySubPackage1': 'mySubPackage1',
            'mySubPackage2': 'mySubPackage2'},
        packages=['mySubPackage1', 'mySubPackage2'],
    )

问题是,当我跑步时python setup.py install from myPackage, the sub软件包被安装到dist-packages:

/usr/local/lib/python2.7/dist-packages/mySubPackage1
/usr/local/lib/python2.7/dist-packages/mySubPackage2

我想问题是我的setup.py,但我不知道如何解决?是否应该在父目录中myPackage?如果是这样,那么当我将包打包到一个zip using python setup.py sdist?


只需使用setuptools代替distutils,它有find_packages正是为了这个目的:

from setuptools import setup, find_packages

setup(
    name='myPackage',
    packages=find_packages(),
)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

设置带有子包的 python 包的正确方法 的相关文章

  • 从Python调用和控制GDB

    我正在运行一个 Python GUI 应用程序 我想从中调用和控制GDB 比如加载可执行文件 设置断点等 我看到GDB有一个命令行界面 可以通过向GDB进程发送字符串来使用它 但我想用Python方式来做 有没有gdb py 我看到 arc
  • 在 Pandas 中根据多个条件过滤 DataFrame

    对于我的班级 我需要找到虹膜数据集中介于 4 5 和 6 之间的萼片长度 确切的规范是 选择萼片长度大于 4 5 但小于 6 的行 给定的代码 答案应采用这种形式 是 subset data data petal width cm gt 2
  • 在张量流中保存模型

    Tensorflow 允许我们使用 tf train write graph 方法保存 加载模型的结构 以便我们可以在将来恢复它以继续我们的训练 但是 我想知道这是否有必要 因为我可以创建一个模块 例如 GraphDefinition py
  • Python:帮助计数器和写入文件[重复]

    这个问题在这里已经有答案了 可能的重复 Python 如何创建连续的文件名 https stackoverflow com questions 2400827 python how do i create sequential file n
  • 两个整数的“min”如何与“位黑客”一样快?

    我正在看一个系列讲座 http ocw mit edu courses electrical engineering and computer science 6 172 performance engineering of softwar
  • 数据框中的列除法(或任何其他数学运算符)之前的类型转换

    我有一个包含列的数据框A B 我需要添加一列C这基本上是条目的划分A通过中的条目B 我试过这个 df C df A df B 但在执行此操作之前 我需要转换为双精度或浮点数 我应该如何类型转换dtype列的 Thanks 怎么样 df C
  • pyspark中的函数input()

    我的问题是当我输入 p 的值时 没有任何反应 它不执行 请问有办法修复它吗 import sys from pyspark import SparkContext sc SparkContext local simple App p inp
  • 姜戈。列出静态文件夹中的文件

    我遇到的一件看似基本的事情是将一个简单的静态文件列表 例如我的服务器上单个存储库目录的内容 呈现为链接列表 这是否安全是另一个问题 但假设我想这样做 这就是我的工作目录的样子 我想将模板中分析文件夹的所有文件作为链接列出 I have tr
  • 如何在Spyder(Anaconda 3)上安装PIL?

    这是我使用 conda install PIL 继续安装时出现的问题 它给了我这个 UnsatisfiableError The following specifications were found to be in conflict p
  • pandas.Series.reindex(, copy=True) 的这种用法中线程不安全的根源是什么?

    Calling pd Series reindex不是线程安全的 错误报告 https github com pandas dev pandas issues 25870 我的问题是why即使没有人写入该对象的数据 Series reind
  • 与 iexact 一起使用时,Django get_or_create 无法设置字段

    我想用name iexact with get or create尽可能避免用户输入字段的重复 我的提供者模型有一个名称字段 我在其中使用get or create 查找工作正常 但在第一次创建实例时 如下面的 p1 Timber 示例 名
  • Pandas apply 与 np.vectorize 从现有列创建新列的性能

    我正在使用 Pandas 数据框 并希望创建一个新列作为现有列的函数 我还没有看到关于之间速度差异的很好的讨论df apply and np vectorize 所以我想我会在这里问 熊猫apply 功能很慢 根据我的测量 在一些实验中如下
  • python导入模块时如何避免一直写模块名?

    我用math最近模块很多 我不想写math sqrt x and math sin x 每时每刻 我想缩短它并写sqrt x and sin x How 对于较长的模块名称 通常会缩短它们 例如 import numpy as np 然后您
  • KFold 和 ShuffleSplit CV 有什么区别?

    看起来 KFold 每次迭代对象时都会生成相同的值 而 Shuffle Split 每次都会生成不同的索引 它是否正确 如果是这样 其中一个相对于另一个有什么用处 cv cross validation KFold 10 n folds 2
  • Python:记录垃圾收集器

    我有一个 python 应用程序 有一些性能问题 我想将垃圾收集器的事件 特别是何时调用 添加到我的日志中 是否可以 thanks http docs python org library gc html gc set debug http
  • 底图上的子图

    我有一张英国地图和 121 个地点 每个地点有 3 个值 我想绘制 121 个位置中每个位置的三个值的小条形图 目前 这些值绘制为markersize属性 看起来像这样 密集恐惧症情节 https i stack imgur com 5fv
  • Python 中的安全解除引用

    Groovy 有一个很好的安全取消引用运算符 这有助于避免 NullPointerExceptions variable method The method仅当以下情况时才会被调用variable is not null 有没有办法在 Py
  • Scikit-learn 的内核 PCA:如何在 KPCA 中实现各向异性高斯内核或任何其他自定义内核?

    我目前正在使用Scikit learn 的 KPCA https scikit learn org stable modules generated sklearn decomposition KernelPCA html对我的数据集执行降
  • 为什么导入 pdb 时出现此错误? “模块”对象没有属性“ascii_letters”

    尝试调试我的代码 我正在导入库pdb import sys from subprocess import check call import pdb functions if name main Code 我收到此错误 File reg p
  • conda 无法从 yml 创建环境

    我尝试运行下面的代码来从 YAML 文件创建虚拟 Python 环境 我在 Ubuntu 服务器上的命令行中运行代码 虚拟环境名为 py36 当我运行下面的代码时 我收到下面的消息 环境也没有被创建 这个问题是因为我有几个必须使用 pip

随机推荐

  • 与平台特定语言相比,使用 Adob​​e Air/Java 编写 Web 应用程序的优点/缺点?

    我需要为 Windows 和 Mac 也许还有 Linux 编写一个 Web 应用程序 也可以离线工作 我想知道我是否应该使用像air flash java 这样的东西 优点是我只需要编写一次应用程序 然而 我想知道这样做是否有任何缺点 而
  • Visual Studio 2022 未加载依赖项

    升级到 Visual Studio 2022 并安装 Net 6 0 SDK 后 我似乎在运行项目时遇到问题 每当我打开现有项目甚至创建新项目时 我都会收到以下依赖项错误 如果我尝试构建项目 我会收到错误 错误列表中没有任何错误 尝试了一些
  • Node.js 如何响应升级请求?

    我正在处理来自 Node js http 服务器的 websocket 升级 事件 升级处理程序的格式为 function req socket head 如果没有资源 我如何发送对此升级请求的响应目的 有没有办法使用套接字对象来做到这一点
  • Python 使用新的相机位置创建图像

    我现在正在努力完成一项特定的计算机视觉任务 例如 假设我们有一个道路的相机框架 现在我想用水平平移的假想相机生成一个新帧 此外 还添加了一个微小的摄像角度 为了说明这一点 我上传了一张演示图片 如何在 python 中从原始框架创建新框架
  • Oracle SQL:收到“没有匹配的唯一键或主键”错误,但不知道原因

    我在尝试创建表时收到此错误 但我不知道为什么 2016 07 05 14 08 02 42000 2270 ORA 02270 no matching unique or primary key for this column list 这
  • 为 Windows 中的目录生成校验和

    我想为目录创建校验和 我正在遵循对此给出的答案post https stackoverflow com questions 17228202 generate md5 keys and save in a text file 但问题是它正在
  • Java 中带有过期时间的对象池的第三方库

    我在 Web 服务服务器上 并且有具有内部连接的对象 初始化此连接需要很长时间 因此我的想法是使用对象池来重用不同请求之间的连接 这些对象连接到每个用户 因此我更喜欢使用用户名作为键 使用连接作为值 但我不想让连接永远打开 也许一段时间后
  • 接口,无法在Unity配置上构建

    我在这个项目上使用 Unity 时遇到问题 错误是 当前类型 Business Interfaces IPersonnelBusiness 是 接口 无法构造 您是否缺少类型映射 由于堆栈溢出 我已将 Unity 更新到最新版本issue
  • Laravel PHPunit Dataprovider 错误“指定的数据提供者无效”

    我正在使用 dataprovider 并从数据库中获取数据 public function logoProvider result Event inRandomOrder gt select id gt whereNotNull logo
  • 如何在 bash 中使用变量的值作为另一个变量的名称[重复]

    这个问题在这里已经有答案了 我想声明一个变量 其名称来自另一个变量的值 我编写了以下代码 a bbb a ccc 但没有成功 完成这项工作的正确方法是什么 eval用于此目的 但如果您天真地这样做 将会出现令人讨厌的转义问题 这种事情通常是
  • 地址窗口扩展

    我有一个 32 位应用程序 需要非常大的内存 我注意到有一种东西叫做地址窗口扩展 http msdn microsoft com en us library aa366527 28v vs 85 29 aspx 然而 我还没有找到太多关于如
  • Django:将整个模型对象集转换为单个字典

    如果您从 Google 来到这里寻找听写模型 请跳过我的问题 直接跳到第一个答案 我的问题只会让你感到困惑 Django 中有没有一种好方法可以将整个模型对象集放入单个字典中 我的意思是 像这样 class DictModel models
  • 您可以使用多个过滤器调用 Directory.GetFiles() 吗?

    我正在尝试使用Directory GetFiles 方法来检索多种类型的文件列表 例如mp3 s and jpg的 我尝试过以下两种方法 但没有成功 Directory GetFiles C path mp3 jpg SearchOptio
  • asterisk agi (php) 文件调试

    有谁知道调试 asterisk 的 agi secript a2billing php 所需的步骤 如果我从 Linux 控制台调用 php cli 我就可以远程调试它 但如果它从 asterisk 内部运行 则不起作用 知道如何调试它吗
  • 更改Fiddler根证书以成功解密HTTPS

    有没有办法更改Fiddler的根证书 当客户端应用程序使用证书固定并且我可以访问密钥库 其证书受到客户端应用程序信任 时 我希望使用它 我想你是在问 我可以更改 Fiddler 用于特定站点的证书吗 而不是root证书 用于所有站点 是的
  • 为什么使用 std::make_* 而不是构造函数更好?

    STL中有一些函数以make 前缀如std make pair std make shared std make unique等等 为什么使用它们而不是简单地使用构造函数是更好的做法 auto pair2 std pair lt int d
  • 添加 VPC 配置后调用 lambda 超时

    我正在使用无服务器框架来创建 lambda 我创建了一个简单的 Lambda 函数 它从 Mongo 实例进行查询并返回响应 最初 我使用 publicIp 创建了 Mongo 实例 并让 Lambda 使用 publicIP 访问该实例
  • 在 mysql 脚本中静默“Query OK 0 row受影响”输出

    我有一个创建多个存储过程的 MySQL 脚本 我想让大家沉默 Query OK 0 rows affected 0 00 sec 当我运行时出现的消息 source MY SCRIPT sql 它变成了一个很长的列表 我有时会忘记在开发过程
  • Visual Studio 2010 中的 Microsoft 图表控件?

    这可能吗 我安装了它们 但它们没有出现 我必须导入它们还是什么 如果在工具箱中看不到 Chart 控件 请右键单击工具箱 选择 选择项 然后在 NET Framework 组件 选项卡中选择以下命名空间 System Web UI Data
  • 设置带有子包的 python 包的正确方法

    我正在尝试在 python 中设置一个带有子包的包 这是我目前拥有的树结构 myPackage init py mySubPackage1 foo2 py foo py init py mySubPackage2 bar2 py bar p