使用基于 distutils setup.py 的 C 扩展的推荐方法是什么?
What is the recommended way to work with a distutils-based setup.py of a C extension?
https://wiki.python.org/moin/WindowsCompilers 现在已经将基于 distutils
的软件包(从 from distutils.core import setup
开始)的说明完全替换为基于 setuptools
的软件包(从 from setuptools import setup
).
但是,如果我有一个基于 distutils
的 setup.py
,当我 运行 它时,setuptools
不会被使用 - 因此页面上的说明不会没用。
可以通过 setuptools
运行 基于 distutils
的脚本,就像 pip
那样,但是 it requires the following code:
python -u -c "import setuptools, tokenize;__file__=<setup.py full path>;
exec(compile(getattr(tokenize, 'open', open)(__file__).read()
.replace('\r\n', '\n'), __file__, 'exec'))" <setup.py arguments>
他们不可能指望我每次都在命令行上输入,现在可以吗?
自提问以来,https://wiki.python.org/moin/WindowsCompilers 已更新为包含 distutils
的说明。要点是:
distutils
仅检测基本的编译器设置(通常,Visual Studio 相应版本中包含的编译器)。与这些设置相对应的指南部分明确提到 distutils
.
对于其他设置,它可以是 "Windows SDK command prompt" 中的 运行,并通过设置 DISTUTILS_USE_SDK
环境来告知依赖它设置的环境变量变量。
- 在后台,它还会检查由 MS 的 SDK 命令提示脚本设置的
MsSdk
环境变量。
https://wiki.python.org/moin/WindowsCompilers 现在已经将基于 distutils
的软件包(从 from distutils.core import setup
开始)的说明完全替换为基于 setuptools
的软件包(从 from setuptools import setup
).
但是,如果我有一个基于 distutils
的 setup.py
,当我 运行 它时,setuptools
不会被使用 - 因此页面上的说明不会没用。
可以通过 setuptools
运行 基于 distutils
的脚本,就像 pip
那样,但是 it requires the following code:
python -u -c "import setuptools, tokenize;__file__=<setup.py full path>;
exec(compile(getattr(tokenize, 'open', open)(__file__).read()
.replace('\r\n', '\n'), __file__, 'exec'))" <setup.py arguments>
他们不可能指望我每次都在命令行上输入,现在可以吗?
自提问以来,https://wiki.python.org/moin/WindowsCompilers 已更新为包含 distutils
的说明。要点是:
distutils
仅检测基本的编译器设置(通常,Visual Studio 相应版本中包含的编译器)。与这些设置相对应的指南部分明确提到distutils
.对于其他设置,它可以是 "Windows SDK command prompt" 中的 运行,并通过设置
DISTUTILS_USE_SDK
环境来告知依赖它设置的环境变量变量。- 在后台,它还会检查由 MS 的 SDK 命令提示脚本设置的
MsSdk
环境变量。
- 在后台,它还会检查由 MS 的 SDK 命令提示脚本设置的