我正在使用numpy.distutils
设置一个包含frotran模块的包(mypackage)。问题是,如果在没有numpy的环境中执行pip install mypackage
,则会出现以下错误:
ModuleNotFoundError: No module named 'numpy'
最简单的解决方案是在用户安装我的软件包之前,让他们(如果我有任何用户的话)去pip install numpy
,但我认为这不是一个非常优雅的解决方案
在导入numpy之前,我想到了只使用setuptools.setup
调用setup_requires=['numpy']
的想法,而且似乎效果很好。这是我的setup.py
:
import setuptools
setuptools.setup(
setup_requires=[
'numpy'
],)
from numpy.distutils.core import setup, Extension
mod = Extension(name='mypackage.amodule', sources=['source/a.f90'])
setup(name='mypackage',
packages=['mypackage'],
ext_modules=[mod],)
老实说,我不完全理解调用空的setup()
(没有名字,没有包)意味着什么这是一个好的解决方案吗?这是一种不好的做法吗?
这是一个共同的问题。如何安装构建时依赖项?您可能希望使用
pyproject.toml
文件并利用build-system
功能。见PEP517。这里有一个例子:使用^{} tool 构建分布(sdist和wheel)
相关问题 更多 >
编程相关推荐