导入错误:没有名为 pkg_resources 的模块

2024-01-06

UPDATE:

我找到了问题的原因。 gdal_merge.py 中的第一行是

#!C:/Users/akg/AppData/Local/Continuum/Anaconda2\python.exe

前两个字符#!,即所谓的shebang,告诉名为 Python Launcher py.exe 的程序使用哪个 Python 版本来运行脚本。就我而言,py.exe 注册不正确。 (py.exe 随 Python3.3 或更高版本一起提供,安装在 C:\Windows\py.exe 下。)

我用它测试了> ftype Python.File,打印了

Python.File="C:\Python27\ArcGISx6410.3\python.exe" "%1" %*

这会导致无论 shebang 之后的文本是什么,都会使用 ArcInfo 附带的 python27。并且在这个特定的 Python 安装中没有 pkg​​_resources,因此出现错误消息。

修复方法是下载并安装最新版本的 Python3,这也会重新安装 py.exe。现在,跑步> ftype Python.File prints

`Python.File="C:\WINDOWS\py.exe" "%L" %*`

之后,运行> gdal_merge.py正常工作。

OLD:

我已经安装了Python 2.7蟒蛇2, and gdal在 Windows 7 系统上。

我安装了 gdal:

> conda install -c conda-forge gdal

当我跑步时gdal_merge.py(位于 ../Anaconda2/Scripts 文件夹下)从 Windows 命令提示符:

> gdal_merge.py

我收到错误消息:ImportError: No module named pkg_resources

在 gdal_merge.py 中有这样一行:

__import__('pkg_resources').run_script('GDAL==2.2.0', 'gdal_merge.py')

这会导致导入错误。 Python 尝试导入 pkg_resources,但找不到它。 (我已经测试过添加其他模块的导入,例如 pandas,但它会导致相同的错误。)

但 pkg_resources 可以从 Python 提示符导入:

>>> import pkg_resources
>>> pkg_resources
<module 'pkg_resources' from 'C:\Users\akg\AppData\Local\Continuum\Anaconda2\lib\site-packages\pkg_resources\__init__.pyc'>

那么为什么当我运行 gdal_merge.py 时找不到包呢?有什么解决办法吗?

我尝试将 ../Anaconda2/Lib/site-packages 放入 PYTHONPATH 中,这很有帮助。但这并不理想:当我启动 QGIS 时,这将导致它使用错误的路径来导入 sip 模块,从而导致 QGIS 中出现导入错误。 QGIS 附带了自己的 Python 发行版。但是当 PYTHONPATH 指向 Anaconda2 的 site-packages 时,QGIS 会尝试从它加载而不是自己的 site-packages 文件夹。我还读到,Anaconda 不需要使用 PYTHONPATH 来工作。


None

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

导入错误:没有名为 pkg_resources 的模块 的相关文章

随机推荐

  • 将圆插入几何数据类型

    既然我们有 2008R2 的开发基线 我即将开始第一次使用几何或地理数据类型 我正在努力寻找如何存储圆的表示 目前我们有圆心的纬度和经度以及半径 类似于 Lat float NOT NULL Long float NOT NULL Radi
  • 如何在 WiX 中创建条件属性? (几乎就像“如果-那么”)

    我有一个安装一些 EXE 文件的 WiX 项目 一个是 主 可执行文件 其他是帮助诊断问题的支持程序 主要可执行文件是可选的 支持程序将自行运行 通常 最终用户会安装第三方程序而不是我的主要可执行文件 在 WiX 安装程序的最后 我希望有一
  • 如何使用maven将Class-Path添加到清单文件中

    使用 maven jar plugin 时我想向 Manifest mf 添加条目所以它将包含 类路径 当我将此条目添加到 Pom 时
  • Android权限:用户按下“允许”后执行任务

    我想知道当用户按下 允许 按钮以访问联系方式 日历访问等时 是否有一种方法可以识别该事件 我知道有一种方法可以通过 ActivityCompat requestPermissions 请求权限 但是有没有一种方法可以在用户授予权限后立即执行
  • 如何从格式化字符串中获取子字符串

    我想得到一个子字符串403162从给定的字符串普拉文 403162 in sql SELECT SUBSTRING column name CHARINDEX column name 1 CHARINDEX column name CHAR
  • 将 Doctrine 2 连接到 Linux 上 SYMFONY 2 的 MSSQL

    我正在尝试使用 Doctrine 2 适用于 Symfony 2 从 Linux 计算机连接到 MSSQLServer 我已经安装了 pdo dblib FreeTDS Sybase DB lib 的 PDO 驱动程序 并且能够通过命令行上
  • 寻找比 GNU 缩进更灵活的工具

    当我使用我想要的源代码中的各种选项运行 indent 时 它会执行我想要的操作 但也会扰乱指针类型中 s 的放置 int send pkt tpkt t pkt void opt data void dump tpkt t bp int s
  • 将文件内容读入二维数组

    我对编程相当陌生 所以外行人的演讲值得赞赏 我的任务是读取一个文件的内容 该文件将包含 9 个值 3x3 数组 然后将内容放入相应的索引中 例如 二维数组的内容是 1 00 2 00 3 00 4 00 1 00 1 00 1 00 2 0
  • 显示附加下拉列表的多选下拉列表

    我正在使用 bootstrap 创建一个多选下拉列表 这是 html
  • python:列出包内的模块

    我有一个包含几个模块的包 每个模块都有一个在其中定义的类 或几个类 我需要获取包内所有模块的列表 python中有这个API吗 这是文件结构 pkg pkg init py pkg module1 py gt defines Class1
  • window.onbeforeunload 仅在关闭窗口时运行,而不是在刷新时运行

    我有这个功能 window onbeforeunload function return Are you sure 我有一个按钮 当用户按下它时 窗口会刷新以更新屏幕值并执行一些数据库调用 我添加了window onbeforeunload
  • PHP 的简单(r)ORM [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • CSS:允许文本区域随内容增长至一定限度

    在某些网站 例如 Github 上 文本区域有一组min height and max height 当用户输入内容时 它们会随着内容而增长 直到达到最大高度 然后出现垂直滚动条 这种效果是如何实现的呢 我的文本区域不会随着其内容而增长 即
  • 如何加速C++中的矩阵乘法?

    我正在用这个简单的算法执行矩阵乘法 为了更加灵活 我使用包含动态创建数组的矩阵对象 将此解决方案与我的第一个静态数组解决方案进行比较 速度慢了 4 倍 我可以做什么来加快数据访问速度 我不想改变算法 matrix mult std matr
  • 使用 Postman 通过原始 JSON 发送 POST 数据

    我有 Postman 在 Chrome 中无法打开的那个 我正在尝试使用原始 JSON 执行 POST 请求 在 正文 选项卡中 我选择了 原始 和 JSON 应用程序 json foo bar 对于标题我有 1 Content Type
  • 无法让 Log4Net 在我们的 WCF 应用程序中工作 [重复]

    这个问题在这里已经有答案了 我们正在尝试使用 Log4Net 从 IIS 6 部署的 WCF 应用程序进行日志记录 我们正在尝试记录到文件 但似乎无法创建日志文件 更不用说查看其中的日志输出了 web config 的相关部分是
  • 有没有办法确定显示器的物理尺寸?

    以英寸为单位 例如21 监视器 该应用程序是一个标准的 WinForms 应用程序 编辑 看来确实没有可靠的方法来完成我的需要 这是无法保证的 Windows 无法知道显示器的大小 除非其驱动程序询问它并向 Windows 报告答复 但是
  • 在vim中,如何将部分行写入文件?

    我想使用 vim 将文件的一部分写入另一个文件 例如 我有以下文件 This is line 1 and this is the next line 我希望我的输出文件读取 line 1 and this is 我知道如何使用 vi 将一系
  • 在带有react-router-v4的动作创建器中使用history.push?

    我发现无需使用即可解决此问题的唯一工作方法react router redux路线从action creator async action完成是通过通过history从组件到动作创建者的道具并执行以下操作 history push rout
  • 导入错误:没有名为 pkg_resources 的模块

    UPDATE 我找到了问题的原因 gdal merge py 中的第一行是 C Users akg AppData Local Continuum Anaconda2 python exe 前两个字符 即所谓的shebang 告诉名为 Py