【问题标题】:No module named utils error on compiling py file编译py文件时没有名为utils的模块错误
【发布时间】:2015-01-19 18:36:23
【问题描述】:

我正在尝试使用命令“python filename.py”通过命令提示符运行.py 文件。我安装后已经为python设置了环境变量,所以我输入python时没有任何错误。我正在运行的文件导入了几个目录,所有这些目录都与我正在运行的文件存在于同一目录中,除了文件 web.py,我似乎无法在目录中找到它,所以我'我假设它在 python 包中的某个地方,我已经下载了。但是,我在那里也找不到它,所以我需要为 python 安装一个扩展,以便成功导入 web.py 文件,或者是否有其他方法可以解决这个问题。

我已经下载了 Python 3.4,我使用 Windows 7 作为我的操作系统,当我尝试编译文件时收到的确切错误是

ImportError: No module named 'utils'

谁能解释一下或引导我到一个详细显示如何安装python扩展的页面?

【问题讨论】:

  • 完整引用和mvce好吗?
  • 这个错误是否与环境变量问题有关?

标签: python web.py python-3.4


【解决方案1】:

我通过 apt 安装(我使用 debian linux)并且在一个项目中遇到了同样的错误。对我来说,解决方案是通过 pip 安装:

$ pip install utils

它应该适用于 python 2 和 python 3。

【讨论】:

  • 已在 docker 中针对 python 2.7 和 3 进行了验证。谢谢!!
【解决方案2】:

所以在我的例子中,我在 Pipenv 环境中运行了 tree 命令,它应该如下所示:我希望这会有所帮助。

.
├── README.md
├── __init__.py
├── core.yaml
├── core_blueprints
│   ├── __init__.py
│   ├── ami_lookup.py
│   ├── chef_buckets.py
│   ├── custom_resources
│   │   ├── __init__.py
│   │   └── cfn_custom_classes.py
│   ├── cw_alarm.py
│   ├── roles.py
│   ├── security_groups.py
│   ├── shared_iam
│   │   ├── __init__.py
│   │   └── iam_policies.py
│   ├── sns_subscription.py
│   ├── sns_topic.py
│   ├── ssm_chefrun_documents.py
│   ├── tf_state.py
│   ├── utils .                 #### This is not correct location.
│   │   ├── __init__.py
│   │   ├── standalone_output.py
│   │   ├── version.py
│   │   └── version_check.py
│   ├── vpc.py
│   ├── vpn_eip.py
│   └── vpn_server.py
├── core_hooks
│   ├── __init__.py
│   ├── cookbook_archive.py
│   ├── core_lambda.py
│   ├── keypair.py
│   ├── s3.py
│   ├── s3_cache.py
│   └── ssm.py
├── platform_version.py
├── prd1-ca-central-1.env
├── setup.py
└── utils                       ###### This is a correct location.
    ├── __init__.py
    ├── standalone_output.py
    ├── version.py
    └── version_check.py

【讨论】:

    【解决方案3】:

    当 Python 解释器找不到特定的“.py”文件时会发生特定错误。在您的情况下,它是文件“utils.py”。

    首先,您需要找到正在尝试导入“utils.py”的文件。从您的主文件开始,查找您要导入的所有文件。 (我猜这个问题来自一个非库文件,但我可能是错的。)

    获得“顶级”导入列表后,请检查每个文件以查看它们正在导入的内容,然后为它们重复该过程。最终,您会找到尝试导入“utils”的 .py 文件。可能有一个目录规范迫使 Python 查找错误的位置。

    最后,使用 Windows 的文件管理器,搜索“utils.py”。作为临时修复,您可以将其从当前位置复制到您的工作目录中。这至少可以让你的项目启动并运行,直到你找出真正的原因。

    【讨论】:

    • 我用的是python 3.4版本,有朋友让我卸载3.4版本,安装最新的2.x版本。这显然阻止了错误的发生,并且文件工作正常,但是您知道为什么会这样。 utils 是否包含在旧版本 python 的包中,如果是,为什么在新版本中将其删除,是否有新 utils 文件的别名?
    • 至此,我还是无法详细回答。 'utils' 是一个非常通用的名称,可以应用于任何库。但是,我可以这样说; 2.X 和 3.X Python 之间的区别非常明显——就像手动变速箱汽车和自动变速箱之间的区别一样。试图同时让汽车同时实现手动自动驾驶将是一场噩梦,而试图让 Python 3 完全兼容旧的 Python 2 代码也是一场噩梦。因此,Python 2 将继续与 Python 3 一起得到支持和开发。这个想法是让每个人都有时间将旧代码“升级”到 Python 3。
    【解决方案4】:

    由于文件/文件夹不在其各自的位置,会发生此错误。

    我在使用 Python Flask Framework 应用程序时遇到了非常相似的错误,事实证明我的 manage.py 和 config.py 文件与其他文件夹位于 app 文件夹内(它们应该在 app 目录之外),这会导致我的情况出现错误。

    一旦我将文件放在正确的位置,繁荣错误就消失了。

    因此,请检查您的应用程序框架并确保其位于应有的位置。 祝你好运

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-11
      • 1970-01-01
      • 2019-03-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多