【问题标题】:Receiving a "no module named xlwings" error on Mac when calling the Python script within XLS but not direclty在 XLS 中调用 Python 脚本但不是直接调用时在 Mac 上收到“没有名为 xlwings 的模块”错误
【发布时间】:2015-03-24 00:17:08
【问题描述】:

使用 Zoomer Analytics 提供的“fibonnaci”示例,我无法直接在 Excel 中运行它,因为它会返回此屏幕截图中看到的“未命名模块”错误:

但是,如果我直接调用 fibonnaci.py,它会起作用。我在一个 MBP 工作站上,Yosemite 使用 Python 2.7.9。

【问题讨论】:

  • 他们可能使用不同的python安装。
  • 模块是如何安装的?这两种情况都使用什么 Python 可执行文件?两种情况下的当前工作目录是什么,或者sys.path
  • 感谢@MartijnPieters,您的评论以及Felix 的回答让我看到了sys.path 问题。

标签: python excel import python-module xlwings


【解决方案1】:

xlwings 目前只加载.bash_profile,因此另一种解决方案是通过添加以下行将解释器的路径添加到.bash_profile 文件中:export PATH="/usr/local/bin:$PATH"。这将使您能够使用 xlwings VBA 模块中的默认设置。

您可能会发生的情况是,您可能已经在 .bashrc.profile 之类的文件中定义了默认 python 安装的位置(python.org?),并且由于 xlwings 不加载它们,它与缺少xlwings的python的系统安装相悖。

【讨论】:

  • 啊,就是这样。所以,我没有在我的主目录中设置.bashrc.profile,但我决定打印sys.path,再加上你的回答,我发现了这个问题。 Excel 使用的是系统的(Mac)版本的 Python,但我将xlwings 插入我的 Python 的“自制”实例中,所以两者都没有排队。把它归结为睡眠不足。非常感谢。
【解决方案2】:

不确定这是否是预期行为,但修改xlwings.bas 文件以将PYTHON_MAC 变量硬编码为PYTHON_MAC = "/usr/local/bin" 似乎可以解决问题。

【讨论】:

  • 来自 VBA 的 xlwings 应该使用您的标准 Python 安装。如果你在终端提示符下输入which python,你会得到什么?
  • 我在回答中使用的路径是我输入which python 时收到的路径。我的 bash 配置文件中没有任何内容可以覆盖它。
  • 嗯 - 好有趣...当你这样做 $ python 然后 >>> import xlwings 它没有问题?
【解决方案3】:

https://github.com/ZoomerAnalytics/xlwings

python setup.py 安装

 export PYTHONPATH=$PYTHONPATH:/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-05-07
    • 2021-07-19
    • 2017-03-18
    • 2021-05-17
    • 2020-10-23
    • 2015-03-20
    • 1970-01-01
    • 2022-12-23
    相关资源
    最近更新 更多