Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用C扩展的基于distutils的setup.py的推荐方法是什么?_Python_Setuptools_Distutils_Setup.py - Fatal编程技术网

Python 使用C扩展的基于distutils的setup.py的推荐方法是什么?

Python 使用C扩展的基于distutils的setup.py的推荐方法是什么?,python,setuptools,distutils,setup.py,Python,Setuptools,Distutils,Setup.py,现在已将基于distutils的软件包(从distutils.core导入设置中的开始)的说明完全替换为基于的setuptools的软件包(从setuptools导入设置中的开始) 但是,如果我有一个基于distutils的setup.py,当我运行它时,setuptools不会被使用-因此页面上的说明不起作用 可以通过setuptools运行基于distutils的脚本,就像pip一样,但是: python-u-c“导入setuptools,tokenize;__文件__=”; exec(co

现在已将基于
distutils
的软件包(从distutils.core导入设置中的
开始)的说明完全替换为基于
的setuptools
的软件包(从setuptools导入设置中的
开始)

但是,如果我有一个基于
distutils
setup.py
,当我运行它时,
setuptools
不会被使用-因此页面上的说明不起作用

可以通过
setuptools
运行基于
distutils
的脚本,就像
pip
一样,但是:

python-u-c“导入setuptools,tokenize;__文件__=”;
exec(compile(getattr(tokenize,'open',open)(_u文件)。read()
.replace('\\r\\n','\\n'),_文件_,'exec'))
他们不可能期望我每次都在命令行上输入,现在可以了吗?

自询问以来,已更新为包含
distutils
的说明。要点是:

  • distutils
    仅检测基本的编译器设置(通常是Visual Studio相应版本中包含的编译器)。指南中与这些设置相对应的部分明确提到了
    distutils

  • 对于其他设置,可以从“Windows SDK命令提示符”运行它,并通过设置
    DISTUTILS\u USE\u SDK
    环境变量告知它依赖由它设置的环境变量

    • 在引擎盖下,它还检查由MS的SDK命令提示符脚本设置的
      MsSdk
      环境变量
自询问之日起,已更新,以包括
distutils
的说明。要点是:

  • distutils
    仅检测基本的编译器设置(通常是Visual Studio相应版本中包含的编译器)。指南中与这些设置相对应的部分明确提到了
    distutils

  • 对于其他设置,可以从“Windows SDK命令提示符”运行它,并通过设置
    DISTUTILS\u USE\u SDK
    环境变量告知它依赖由它设置的环境变量

    • 在引擎盖下,它还检查由MS的SDK命令提示符脚本设置的
      MsSdk
      环境变量
我看到你也在问这个问题。我最近对此进行了研究,得出的结论是,他们现在建议分发轮子,而不是sdist。这对Windows来说似乎是合理的。我看到你也在问这个问题。我最近对此进行了研究,得出的结论是,他们现在建议分发轮子,而不是sdist。这对于Windows来说似乎是合理的。
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>