导入错误:“没有名为模块”*确实*存在[重复]

2023-12-09

当我启动金字塔保存时,我得到这个堆栈跟踪:

% python $(which pserve) ../etc/development.ini
Traceback (most recent call last):
  File "/home/hughdbrown/.local/bin/pserve", line 9, in <module>
    load_entry_point('pyramid==1.5', 'console_scripts', 'pserve')()
  File "/home/hughdbrown/.virtualenvs/ponder/local/lib/python2.7/site-packages/pyramid-1.5-py2.7.egg/pyramid/scripts/pserve.py", line 51, in main
    return command.run()
  File "/home/hughdbrown/.virtualenvs/ponder/local/lib/python2.7/site-packages/pyramid-1.5-py2.7.egg/pyramid/scripts/pserve.py", line 316, in run
    global_conf=vars)
  File "/home/hughdbrown/.virtualenvs/ponder/local/lib/python2.7/site-packages/pyramid-1.5-py2.7.egg/pyramid/scripts/pserve.py", line 340, in loadapp
    return loadapp(app_spec, name=name, relative_to=relative_to, **kw)
  File "/home/hughdbrown/.virtualenvs/ponder/lib/python2.7/site-packages/PasteDeploy-1.5.2-py2.7.egg/paste/deploy/loadwsgi.py", line 247, in loadapp
    return loadobj(APP, uri, name=name, **kw)
  File "/home/hughdbrown/.virtualenvs/ponder/lib/python2.7/site-packages/PasteDeploy-1.5.2-py2.7.egg/paste/deploy/loadwsgi.py", line 271, in loadobj
    global_conf=global_conf)
  File "/home/hughdbrown/.virtualenvs/ponder/lib/python2.7/site-packages/PasteDeploy-1.5.2-py2.7.egg/paste/deploy/loadwsgi.py", line 296, in loadcontext
    global_conf=global_conf)
  File "/home/hughdbrown/.virtualenvs/ponder/lib/python2.7/site-packages/PasteDeploy-1.5.2-py2.7.egg/paste/deploy/loadwsgi.py", line 320, in _loadconfig
    return loader.get_context(object_type, name, global_conf)
  File "/home/hughdbrown/.virtualenvs/ponder/lib/python2.7/site-packages/PasteDeploy-1.5.2-py2.7.egg/paste/deploy/loadwsgi.py", line 454, in get_context
    section)
  File "/home/hughdbrown/.virtualenvs/ponder/lib/python2.7/site-packages/PasteDeploy-1.5.2-py2.7.egg/paste/deploy/loadwsgi.py", line 476, in _context_from_use
    object_type, name=use, global_conf=global_conf)
  File "/home/hughdbrown/.virtualenvs/ponder/lib/python2.7/site-packages/PasteDeploy-1.5.2-py2.7.egg/paste/deploy/loadwsgi.py", line 406, in get_context
    global_conf=global_conf)
  File "/home/hughdbrown/.virtualenvs/ponder/lib/python2.7/site-packages/PasteDeploy-1.5.2-py2.7.egg/paste/deploy/loadwsgi.py", line 296, in loadcontext
    global_conf=global_conf)
  File "/home/hughdbrown/.virtualenvs/ponder/lib/python2.7/site-packages/PasteDeploy-1.5.2-py2.7.egg/paste/deploy/loadwsgi.py", line 337, in _loadfunc
    return loader.get_context(object_type, name, global_conf)
  File "/home/hughdbrown/.virtualenvs/ponder/lib/python2.7/site-packages/PasteDeploy-1.5.2-py2.7.egg/paste/deploy/loadwsgi.py", line 681, in get_context
    obj = lookup_object(self.spec)
  File "/home/hughdbrown/.virtualenvs/ponder/lib/python2.7/site-packages/PasteDeploy-1.5.2-py2.7.egg/paste/deploy/util.py", line 68, in lookup_object
    module = __import__(parts)
  File "/home/hughdbrown/.virtualenvs/ponder/local/lib/python2.7/site-packages/ponder-0.0.40-py2.7.egg/ponder/server/__init__.py", line 10, in <module>
    from ponder.server.views import Endpoints, route
ImportError: No module named views

这在 python REPL 中工作得很好:

% python
Python 2.7.5+ (default, Feb 27 2014, 19:37:08) 
[GCC 4.8.1] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from ponder.server.views import Endpoints, route
>>> 

并从命令行导入:

% python -c "from ponder.server.views import Endpoints, route"

一个删节的tree输出显示我正在处理的内容:

% tree
├── __init__.py
├── ponder
│   ├── __init__.py
│   ├── server
│   │   ├── __init__.py
│   │   └── views
│   │       ├── environment_templates.py
│   │       ├── groups.py
│   │       ├── __init__.py
│   │       ├── instances.py
│   │       ├── tasks.py
│   │       └── users.py

My PYTHONPATH设置为该树的根:

% echo $PYTHONPATH
/home/hughdbrown/workspace/ept/ponder/lib

我正在使用 python 2.7 的 virtualenv 中运行它。我今天断断续续地工作过,但我不知道问题出在哪里。一方面,__init__.py似乎没问题some之前的导入:

from .database import get_db
from .config import parser
from .views import Endpoints, route

(我将最后一行更改为绝对导入。不走运。)

我尝试过的事情:

  1. 重建虚拟环境

  2. Setting PYTHONPATH

  3. 在代码中使用绝对路径

  4. 寻找循环进口

我愿意接受有关如何调试此错误的进一步建议。


所以我犯的错误是只查看源代码树。问题确实出在运行时环境中,在我的 virtualenv 中。当我查看那里时,我发现所需的文件没有安装。问题的根源在于setup.py.


我设置了PYTHONPATH to '.'这为我解决了这个问题。

export PYTHONPATH='.'

对于一行,您可以轻松地执行以下操作:

PYTHONPATH='.' your_python_script

这些命令预计在终端中运行

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

导入错误:“没有名为模块”*确实*存在[重复] 的相关文章

随机推荐

  • Android 上 SQLite 数据库的最大大小是多少?

    我有一个大小超过 2 6 GiB 的 SQLite 数据库 数据库包含地图 该数据库由 RMaps 应用程序使用 当以最大缩放比例将地图移动到某些部分时 应用程序突然关闭 但是 没有强制关闭消息 也没有报告按钮 所以 我有一个想法 它是由超
  • ArrayList<对象> JSON

    我正在尝试使用 Restlet 返回 JSON 数据 我可以使用以下命令返回单个项目的 JSON import org json JSONObject Site aSite new Site getSite JSONObject aSite
  • noSelectionOption 属性[重复]

    这个问题在这里已经有答案了 我是 JSF 新手 我遇到了noSelectionOptionJSF 2 0 中的属性 我不明白这个属性的目的 根据描述 它在需要选择并且用户选择时使用noSelectionOption导致验证错误 So if
  • 在字母表列表中查找缺失的字母

    我正在尝试解决以下问题 在传递的字母范围中找到丢失的字母并将其返回 如果所有字母都出现在该范围内 则返回 undefined 我将得到的字符串输入是 abce 应返回 d bcd 应该返回未定义 abcdefghjklmno 应该返回 i
  • 如何使用 MEF 获取 Visual Studio 扩展中的当前 ActiveDocument?

    我正在使用 MEF 开发 Visual Studio 2013 扩展 同时尝试读取 Active Document 内容类型和代码 目前 它仅在编辑器中打开文档 项目项时读取 一旦打开它们 每当我们在打开的文档选项卡之间切换时 它就不会再次
  • 根据路线删除@include

    我有一个菜单部分 其中包括一个输入搜索栏 但我不希望搜索栏在所有页面上都可见 而仅针对两个特定的 uri 有没有办法去除刀片中包含的内容 目前它看起来像这样 a href all a a href nes a a href snes a i
  • $在mongodb中过滤最多2个嵌套级别

    我有一个结构如下的数据库 Hospitais utis id 893910 nome UTI1 leitos id 128938120 paciente Oliver id 12803918239 paciente Priscilla
  • 满足条件时终止多处理进程

    我试图运行的想法是这样的 RUN 3 进程进行计算 一旦 3 个进程之一完成任务 立即杀死其他人并继续主要任务 我不能让它再运行下去 我尝试过的事情是 将全局变量放入 multiprocessing manager 但这仍然可以让进程完成循
  • Python pyodbc 使用 SQL Server 身份验证连接到 Sql Server

    窗口用户详细信息与我登录的Sql Server用户不同 因此我尝试使用用户名 Admin JJack 和密码使用pyodbc连接到数据库 但是窗口用户 Jack 的连接显示失败 我不知道哪里出了问题 我的连接字符串 connection p
  • 作为特定用户对 TFS 工作项进行更改

    我正在创建一个 Web 应用程序 我的团队中的用户将使用它 对 TFS 工作项进行更改 我正在为此使用 TFS API 为了访问 TFS 服务器 我在 Web 应用程序中使用了我的凭据 现在 每次有人使用该应用程序并对 TFS 工作项进行更
  • 根据列数据创建新的 Excel 行

    大家下午好 我遇到一个问题 我的用户拥有多个银行帐户详细信息 我需要尝试为每个拥有多个银行帐户的员工创建一个新行 并为第二个银行帐户分配一个新行 Employee Number User ID BSB Account number 1000
  • 使用 Airflow 运行 .EXE 和 Powershell 任务

    我们的系统基本上只是运行 C 和 Powershell 应用程序以及 MS SQL Server 的 Windows 服务器 我们有一个内部工作流程管理解决方案 能够运行执行 EXE BAT PS1 甚至调用 DLL 函数的任务 现在我正在
  • 重定向到 Amazon S3 静态网站中的错误页面

    我有一个存储桶并在其中启用了静态网站托管 假设我的存储桶中只有两个文件 index html 和 error html 如果使用 test html 命中请求 则会抛出访问被拒绝或不会抛出此类关键错误 如果出现此类错误 如何重定向到 err
  • 使用保留字作为属性名称,重新审视

    保留字可以用作对象的属性名称吗 这个问题是在之前的 Stack Overflow 问题中间接提出的 浏览器支持在 JavaScript 中使用保留字作为属性名称 答案似乎是普遍共识亚历克斯 韦恩 您可以使用这些单词 但只能作为字符串而不是速
  • 未来不完整?

    object Executor extends App implicit val system ActorSystem implicit val materializer ActorMaterializer implicit val ec
  • RDD 转换和操作只能由驱动程序调用

    Error org apache spark SparkException RDD 转换和操作只能由驱动程序调用 不能在其他转换内部调用 例如 rdd1 map x gt rdd2 values count x 无效 因为值转换和计数操作无
  • TFS 排除目录 - .tfignore 不起作用,它是一个非常大的目录

    我看过其他帖子并在 stackoverflow 上阅读它们 如何忽略 TFS 中的文件 目录以避免它们进入中央源存储库 然而这似乎不起作用 我有一个名为 FS 的根文件夹 在该目录中我有以下 tfignore This tfignore f
  • Oracle 10g 按日期选择查询没有返回结果

    我有一些令人困惑的问题 SQL gt select login status date modified from users where login zack 661 and date modified 05 MAR 14 no rows
  • Javascript stringify '%%' 丢失百分号

    为什么 stringify 的输出缺少百分号 var a dp var t JSON stringify a console log t t 结果是 t dp 为什么没有结果 t dp Thanks 正如文档中所指定的console log
  • 导入错误:“没有名为模块”*确实*存在[重复]

    这个问题在这里已经有答案了 当我启动金字塔保存时 我得到这个堆栈跟踪 python which pserve etc development ini Traceback most recent call last File home hug