Python 包?

2024-05-08

好吧,我认为无论我做错了什么,它可能都是显而易见的,但我无法弄清楚。我已经阅读并重新阅读了有关包的教程部分,我唯一能想到的是这不起作用,因为我直接执行它。这是目录设置:

eulerproject/
  __init__.py
  euler1.py
  euler2.py
  ...
  eulern.py
  tests/
    __init__.py
    testeulern.py

以下是 testeuler12.py (我编写的第一个测试模块)的内容:

import unittest
from .. import euler12

class Euler12UnitTests(unittest.TestCase):


    def testtriangle(self):
        """
        Ensure that the triangle number generator returns the first 10
        triangle numbers.

        """
        self.seq = [1,3,6,10,15,21,28,36,45,55]
        self.generator = euler12.trianglegenerator()
        self.results = []
        while len(self.results) != 10:
            self.results.append(self.generator.next())
        self.assertEqual(self.seq, self.results)

    def testdivisors(self):
        """
        Ensure that the divisors function can properly factor the number 28.

        """
        self.number = 28
        self.answer = [1,2,4,7,14,28]
        self.assertEqual(self.answer, euler12.divisors(self.number))


if __name__ == '__main__':

    unittest.main()

现在,当我在目录中从 IDLE 和命令行执行此命令时,出现以下错误:

Traceback (most recent call last):
  File "C:\Documents and Settings\jbennet\My Documents\Python\eulerproject\tests\testeuler12.py", line 2, in <module>
    from .. import euler12
ValueError: Attempted relative import in non-package

我认为问题在于,由于我直接运行它,所以我无法进行相对导入(因为__name__变化,我对软件包描述的模糊理解是__name__是它如何告诉它所在的包的一部分),但是在这种情况下,你们对如何导入从测试代码向上存储 1 级的“生产”代码有什么建议?


我有同样的问题。我现在用nose http://nose.readthedocs.org/en/latest/运行我的测试,并且相关导入得到正确处理。

是的,这整个相对重要的事情令人困惑。

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

Python 包? 的相关文章

随机推荐

  • 匹配模式引用或取消引用值之间有什么区别吗?

    Clippy https github com rust lang nursery rust clippy对这样的代码发出警告 fn func
  • C++ 将枚举值捕获为异常

    我正在尝试使用external C 库将其异常定义为 enum MY ERRORS ERR NONE 0 ERR T1 ERR T2 然后在代码中抛出异常是这样的 if throw ERR T1 作为 C 编程新手 我会这样做 try ca
  • 是否有适用于 SaaS 或订阅的 Schema.org 类型?

    我们销售按月订阅的软件即服务 我试图弄清楚我们是否可以通过 Schema org 的规范提供元数据 我一直在考虑products https developers google com structured data rich snippe
  • 有没有由 HTML + css + javascript 驱动的 sql 编辑器? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 语法高亮 sql代码格式 代码镜像 http codemirror net 会成功的 这太好了 非常容
  • @monthly cron 作业不可靠

    我们的客户希望我们每月创建一份报告 过去 我们使用 monthly cron 作业来完成此任务 但这并不可靠 服务器可能会在这一分钟内宕机 Cron 不会重新运行这些作业 如果服务器已启动 此时数据库可能无法访问 如果服务器已启动且数据库已
  • 无法导入@material-ui/core/styles/MuiThemeProvider

    我正在开发一个 React 项目 使用 Material UI React 组件 我想进口MuiThemeProvider in src index js像这样import MuiThemeProvider from material ui
  • 如何在流星模板中设置日期格式

    我需要以 mm dd yyyy 格式显示数据库中的日期 因为它以 ISO 格式保存在mongodb如何在模板中转换它 这是我的代码 Template templatename vname function return Posts find
  • MuiThemeProvider:如何为不同的路线使用不同的主题?

    我需要根据网站的当前部分稍微更改主题 看起来MuiThemeProvider仅套muiTheme负载 但当 props 改变时需要更新 如何才能做到这一点 您可以尝试将主题放入包装组件中 以保持主题的状态 使用React 的上下文 http
  • 想要从 beanIO 字段名称标签在 csv 中写入标题

    我想在 csv 文件中写入标题 因为我的文本文件不包含任何标题 所以我想从 beanIO 字段名称标签写入它 我有一个 beanIO 有两个流 一个用于读取 另一个用于写入 这是输入文件 文本输入 txt 1 约翰 露 BA xxx1萨姆
  • C++ while 循环优化无法正常工作

    我有这个代码段 include
  • 在 EXCEL 中使用多个表的条件求和

    我有一个表 我试图根据两个参考表的值来填充该表 我有各种不同的项目 类型 1 类型 2 等 每个项目运行 4 个月 并且根据其生命周期的不同时间 花费不同的金额 这些成本计算显示在Ref Table 1 参考表1 Month a b c d
  • 是否可以使用 php 中的 C++ 二进制文件

    是否可以编写一些 C 或 C 代码并编译为二进制文件 然后将这些二进制文件与 php 一起使用 是否也可以使用 C 和 C 编写 php 库 如果是这样 请告诉我该怎么做 PHP 在设计上是模块化的 它由 引擎 和许多扩展组成 其中一些是必
  • Dojo DataGrid (DGrid) 添加复选框列

    我在用DojoDgrid 但是我正在尝试添加一个复选框列 但我不确定该方法 我一直在看的大多数教程都遵循不同的代码结构 我无法创建复选框列 我想创建一个复选框列来选择行 Code 这里还有一个Fiddle http jsfiddle net
  • CodingBat sum67:为什么这个解决方案是错误的?

    我正在解决以下codingbat问题 返回数组中数字的总和 但忽略以 6 开头并延伸到下一个 7 的数字部分 每个 6 后面至少有一个 7 如果没有数字则返回 0 sum67 1 2 2 5 sum67 1 2 2 6 99 99 7 5
  • 从 C++ 文件中删除无用的行

    很多时候 当我调试或重用某些代码时 文件开始获取不执行任何操作的行 尽管它们可能在某一时刻执行了某些操作 像向量和填充然后不再使用之类的东西 定义但从未使用的类 结构 以及声明但从未使用的函数 我知道在很多情况下 其中一些东西并不是多余的
  • 如何通过代码改变Android SlidingDrawer的方向?

    当我从横向模式更改为纵向模式时 我无法找到设置 SlidingDrawer 方向的方法 反之亦然 最初我将 xml 的方向设置为垂直 当手机处于横向模式时 我需要将方向更改为水平 因此我将手柄放在左侧 有人有什么想法吗 我认为按照标准这是不
  • 在 cURL 命令和 postman 中的 Firebase Cloud Messaging 中获取无效令牌

    伙计们 我正在尝试获取有关应用程序实例的信息 并且我还尝试将应用程序实例订阅到 Google Cloud Messaging 主题 但问题是每当我尝试使用server key它给我带来了错误invalid token当我尝试使用web ap
  • 使用 insert into ... select 会导致 select 附近的语法不正确,为什么?

    如何在 INSERT 操作中进行 SELECT insert into tableX a id b id VALUES SELECT service id FROM tableY WHERE id 10 2 但服务器返回语法错误 为什么 S
  • Perl Mongo 查找对象 ID

    你会认为这是一件简单的事情 我有一个集合中的对象 ID 列表 我想根据对象 ID 获取单个记录 谷歌搜索过 但没有任何帮助 所以我有对象 ID 5106c7703abc120a04070b34 my client MongoDB Mongo
  • Python 包?

    好吧 我认为无论我做错了什么 它可能都是显而易见的 但我无法弄清楚 我已经阅读并重新阅读了有关包的教程部分 我唯一能想到的是这不起作用 因为我直接执行它 这是目录设置 eulerproject init py euler1 py euler