gpt4 book ai didi

python - 使用 numpy.distutils.core.setup 之前安装 numpy

转载 作者:行者123 更新时间:2023-12-01 06:27:49 24 4
gpt4 key购买 nike

我正在使用 numpy.distutils 来设置具有 frotran 模块的包 (mypackage)。问题是,如果我在没有 numpy 的环境中执行 pip install mypackage ,则会收到以下错误:

ModuleNotFoundError: No module named 'numpy'

简单的解决方案是要求用户(如果我有的话)在安装我的包之前pip install numpy,但我不认为这是一个非常优雅的方式 em>解决方案。

我想出了在导入 numpy 之前仅使用 setup_requires=['numpy'] 调用 setuptools.setup 的想法,它似乎工作得很好。这是我的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 。这里有一个例子:

[build-system]
build-backend = "setuptools.build_meta"
requires = ["setuptools", "numpy"]

使用pep517 tool构建发行版(sdistwheel)。

关于python - 使用 numpy.distutils.core.setup 之前安装 numpy,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60045913/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com