【问题标题】:Wrt. Anaconda Python 3.4 and Cython写。 Anaconda Python 3.4 和 Cython
【发布时间】:2014-10-01 00:24:39
【问题描述】:

很抱歉刚接触 Anaconda(和 Cython)。

我使用的是 Anaconda 64 位 Python 3.4 Windows。

Anaconda 在哪里为 Cython 进行所有这些设置?我有一个名为cy_test.pyx 的测试代码如下:

import numpy as np

cpdef double [:] func():
    cdef double [:] a = np.arange(10.)
    return a

然后,而不是

import pyximport, numpy
pyximport.install(setup_args={"script_args":["--compiler=mingw32"], "include_dirs":numpy.get_include()})

我只需要运行import pyximport; pyximport.install()。然后我可以使用

import test_cy
a = test_cy.func()
print(list(a))

它只是工作,没有我告诉它包含numpy.get_include()

我的问题是,这是在哪里设置的?哪里应该有配置文件吧?

-肖恩

【问题讨论】:

  • @Veedrac 抱歉 - 我更改了它,现在只有 1 个问题。

标签: python numpy cython


【解决方案1】:

import numpy 只是一个常规导入。除非您这样做 cimport numpy Cython 不会对此进行特殊处理(它不会导入头文件或其他编译时文件),因此没有什么特别要包含的。

我非常怀疑 Anaconda 正在做什么特殊功能。

如果要配置pyximport,可以制作pxybld文件such as when you want to support C++ with pyximport

【讨论】:

  • import numpy 本身只是一个常规导入。奇怪的部分是不需要在pyximport.install() 中添加np.get_include()"include_dirs",如问题所述。
  • 天哪,你是对的!很抱歉,我没有首先理解您的回答。我为投反对票深表歉意,一旦我被允许(2 小时后),我将取消它。
  • 没有难过的感觉;很高兴我能帮忙:)。
  • @ShawnWang 需要注意的是,在过去,我必须在 /Lib/distutils 中设置一个“distutils.cfg”文件才能使 pyximport 正常工作。 Anaconda 已经设置了一个条目,告诉 Python 的 distutils 默认使用 MinGW 进行编译。
猜你喜欢
  • 1970-01-01
  • 2014-07-30
  • 2015-08-29
  • 1970-01-01
  • 2015-06-22
  • 2014-10-17
  • 2015-02-13
  • 2019-12-07
  • 1970-01-01
相关资源
最近更新 更多