【问题标题】:Trouble accessing python modules in Canopy?无法访问 Canopy 中的 python 模块?
【发布时间】:2017-03-16 02:17:52
【问题描述】:

我无法让模块在 Canopy 中对 python 可见。具体来说,在 Canopy 中打开的文件中的 python 代码中,我收到错误“No Module named -----” 在阅读了有关 stackoverflow 的其他几个答案后,我确实使用了终端命令“export PATH=/Users/TheSlothQueen/Library/Enthought/Canopy_32bit/User/bin:${PATH}”。 (据我所知,使 Canopy 成为默认的 python 环境)。这已经奏效了,因为现在如果我在终端中键入 start python 并“import sys”然后“sys.prefix”,Enthought Canopy 确实显示为 python 路径。

按照这些 (https://support.enthought.com/hc/en-us/articles/204469690-Installing-packages-into-Canopy-User-Python-from-the-OS-command-line) 说明,我现在应该能够使用 enpkg 命令而不是 pip install。但是,这需要我登录到 canopy 并且我认为我没有会员资格。

我能做些什么呢?在我将默认 python 路径更改为 Canopy 的环境之前,我可以将 openpyxl 安装到 Library/Python/2.7/site-packages 中并且它显然存在,但是 Canopy 中我的 python 文件中的“import openpyxl”命令仍然无法访问它。

我不太擅长使用命令行并且是 Canopy 的新手,但在 python 方面相当有经验。任何帮助将不胜感激。

【问题讨论】:

    标签: python-2.7 package canopy


    【解决方案1】:

    如果您不想使用enpkg 或注册免费的 Canopy 帐户:

    在您的 Canopy site-packages /Users/TheSlothQueen/Library/Enthought/Canopy_32bit/User/lib/python2.7/site-packages 中设置一个 .pth 文件,其中包含常规 python site-packages 的路径。见https://gis.stackexchange.com/questions/59012/how-to-access-esri-arcpy-modules-from-enthought-canopy/59144#59144

    【讨论】:

    • 这是有道理的。显然我在库中没有任何 Enthought 文件夹。我需要在那里创建一个吗?
    • 我强烈建议您不要采用这种方法,这会导致配置脆弱。替代答案即将到来。
    【解决方案2】:

    1) 作为一项规则,您永远不应该在 Python 发行版之间复制或链接,这可能会由于不兼容的依赖项而导致无法解释的崩溃和其他错误。相反,每个 Python 发行版都应该是独立的。在极少数情况下您别无选择(例如@TheoretiCAL 的答案中提到的 ArcGIS 示例),但只能作为最后的手段。

    因此,如果您想将同一个包安装到多个 Python 发行版中(例如,在您的系统 Python 和 Canopy Python 中使用 openpyxl),您应该将它独立安装到每个发行版中。稍后我将对此进行描述,但首先值得一提的是另一种情况——如果您在任一 Python 发行版之外的目录中开发自己的代码(或使用同事的代码),那么您可以设置您的PYTHONPATH 环境变量到该目录,这将允许您从任一 Python 发行版访问它,通常是安全的。

    2) 既然你说你不太习惯命令行,为什么不直接从 Canopy 的包管理器安装 openpyxl 呢?除了少数具有令人不安的依赖关系的边缘情况外,这相当于使用enpkg

    3) 登录 Canopy 或 enpkg,注册一个帐户是免费的:https://enthought.com/accounts/login/

    4) 如果你确实想从命令行安装你的包,你引用的文章很好。请注意,使 Canopy 成为终端中默认 Python 的最简单方法是从 Canopy 工具菜单中打开 Canopy 终端。其他方式见this article

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-16
      • 2015-11-05
      • 1970-01-01
      • 1970-01-01
      • 2018-07-22
      • 1970-01-01
      相关资源
      最近更新 更多