python安装文件中的numpy依赖项
这是一个出现的问题,但我还没有找到一个好的解决办法。因此,我有一个python项目,我希望用户能够在最小的anaconda虚拟环境中安装它 我的代码还使用Cython来加速一些计算密集型函数,并要求numpy头能够对它们进行Cython化。因此,我有一个设置python脚本,如下所示:python安装文件中的numpy依赖项,python,numpy,distutils,setup.py,cythonize,Python,Numpy,Distutils,Setup.py,Cythonize,这是一个出现的问题,但我还没有找到一个好的解决办法。因此,我有一个python项目,我希望用户能够在最小的anaconda虚拟环境中安装它 我的代码还使用Cython来加速一些计算密集型函数,并要求numpy头能够对它们进行Cython化。因此,我有一个设置python脚本,如下所示: from distutils.extension import Extension from setuptools import setup, Extension def create_extension()
from distutils.extension import Extension
from setuptools import setup, Extension
def create_extension():
import numpy as np # No luck even though I keep it at function scope
return Extension("speed",
sources=["app/perf/booster.pyx"],
include_dirs=[np.get_include()], # problematic
language="c++",
libraries=[],
extra_link_args=[])
setup(
setup_requires=[
'setuptools>=18.0',
'numpy==1.13.3',
'cython==0.28.2'
],
ext_modules=[
create_extension(),
],
......
install_requires=[
'numpy==1.13.3',
'Cython==0.28.2',
'nibabel==2.2.1',
'scipy==1.0.0'
],
)
但是,当我运行构建
或安装
时,numpy输入端口失败。虽然我已将其添加到setup\u requires
组和install\u requires
组,但它似乎没有任何效果
当然,我可以事先要求用户安装numpy,但我更愿意让它一步到位,我想知道是否有办法实现这一点
在评论之后,我在该线程中尝试了以下解决方案:
from distutils.extension import Extension
from setuptools import setup, Extension
def create_extension():
import numpy as np # No luck even though I keep it at function scope
return Extension("speed",
sources=["app/perf/booster.pyx"],
include_dirs=[np.get_include()], # problematic
language="c++",
libraries=[],
extra_link_args=[])
setup(
setup_requires=[
'setuptools>=18.0',
'numpy==1.13.3',
'cython==0.28.2'
],
ext_modules=[
create_extension(),
],
......
install_requires=[
'numpy==1.13.3',
'Cython==0.28.2',
'nibabel==2.2.1',
'scipy==1.0.0'
],
)
f
现在,此操作失败,出现错误:
error: unknown file type '.pyx' (from 'app/perf/booster.pyx')
你能证实我链接的问题中投票率最高的答案是否有效吗?我很久以前就问过这个问题,但不幸的是,我从来没有机会去测试它。如果它确实有效,我将继续并将其标记为正确答案。@user5424谢谢你的指针。我确实试过了,请看我的编辑。我可能没有正确理解该解决方案?可能重复