安装
作为解决方法,我将
有没有人知道一个干净的解决方案(仅限Linux)来通过setuptools安装
更新:
依赖关系是通过设置完成的。
无论是显式添加numpy还是只添加pandas,都不会有任何区别。在这两种情况下,numpy都将被下载和构建,但是pandas构建失败,因为找不到一些头文件(这些头文件可能在安装numpy的安装步骤中安装,但在构建时未安装)。如果我先安装numpy,则一切正常。我可以100%地重现这个问题,而且与我正在工作的项目无关。
更新2:
以下是堆栈跟踪的结尾:
结尾的信息肯定是错误的。如果在运行
numpy
+pandas
作为setup.py
依赖项时,使用setuptools并不起作用。这与缺少依赖项无关。如果我通过pip install numpy
安装numpy
,然后再运行python setup.py develop
,一切都正常。如果我正确理解了setuptools
文档,所有包都会先构建,然后再安装。因此numpy
被构建了,但在构建pandas
时没有被安装。作为解决方法,我将
numpy
添加到了我的setup_requires
中。这可以正常工作,但显然不是一个非常干净的解决方案。有没有人知道一个干净的解决方案(仅限Linux)来通过setuptools安装
numpy
+pandas
?更新:
依赖关系是通过设置完成的。
install_requires=['numpy','pandas']
无论是显式添加numpy还是只添加pandas,都不会有任何区别。在这两种情况下,numpy都将被下载和构建,但是pandas构建失败,因为找不到一些头文件(这些头文件可能在安装numpy的安装步骤中安装,但在构建时未安装)。如果我先安装numpy,则一切正常。我可以100%地重现这个问题,而且与我正在工作的项目无关。
更新2:
以下是堆栈跟踪的结尾:
File "/tmp/easy_install-QMa4ce/pandas-0.14.1/temp/easy_install-f6lreI/numpy-1.9.0/numpy/distutils/command/build_src.py", line 153, in run
File "/tmp/easy_install-QMa4ce/pandas-0.14.1/temp/easy_install-f6lreI/numpy-1.9.0/numpy/distutils/command/build_src.py", line 170, in build_sources
File "/tmp/easy_install-QMa4ce/pandas-0.14.1/temp/easy_install-f6lreI/numpy-1.9.0/numpy/distutils/command/build_src.py", line 329, in build_extension_sources
File "/tmp/easy_install-QMa4ce/pandas-0.14.1/temp/easy_install-f6lreI/numpy-1.9.0/numpy/distutils/command/build_src.py", line 386, in generate_sources
File "numpy/core/setup.py", line 432, in generate_config_h
File "numpy/core/setup.py", line 42, in check_types
entry_points={
File "numpy/core/setup.py", line 293, in check_types
SystemError: Cannot compile 'Python.h'. Perhaps you need to install python-dev|python-devel.
结尾的信息肯定是错误的。如果在运行
python setup.py develop
之前执行 pip install numpy
,一切都可以正常工作。在上面的示例中,我只在 install_requires
中有 pandas
,没有 numpy
。但据我所知,无论是否明确添加 numpy
,都没有任何区别。