python - 将 Clang 设置为 Windows 上 pip install 中使用的默认编译器

标签 python c compiler-errors cython

Visual Studio 2017 现在附带 clang,我想知道是否可以将 clang 设置为尝试安装 python 包时使用的默认编译器通过 pip install 实现 Cython 依赖项。

据我所知,问题似乎是 pip 不知道在哪里寻找 clang;它默认为包含 MSVC 编译器的路径,用于编译 setup.py 包中指定的 .c 文件。有什么办法可以 1) 设置要使用的编译器的路径,或者 2) 指定应显式使用 clang

我正在 Windows 10 上工作,使用 Anaconda 发行版和 Python 3.6。任何帮助将非常感激!

最佳答案

不要这样做。

可以通过设置编译器在命令行上完成:

python setup.py build_ext -c <compiler>

python setup.py build_ext --help-compiler查看可用选项。

但是,用于构建 python 发行版的相同编译器必须用于所有扩展,因为扩展模块将由解释器加载。

如果它们是由不同的编译器构建的,则Python解释器无法安全地加载它们

就 Anaconda 而言,其 python 发行版是使用 MSVC 构建的,因此应使用 anaconda 环境使用的相同编译器进行扩展。在这种情况下,激活 anaconda 环境就足够了,尽管编译器可以按照上面的方式显式设置。

参见Windows Compilers python wiki entry .

关于python - 将 Clang 设置为 Windows 上 pip install 中使用的默认编译器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51375798/

相关文章:

python - 包装库函数以重试 500 错误无法正常工作

c++ - 输出 float 进行调试

python - 在 Matplotlib 中重置颜色循环

Python:如何有效地创建数组的所有可能的 2 元素交换?

python - 无法从 Google 搜索页面获取 CSS 类

swift - "Expression resolves to an unused l-value"与 "Expression is unused"

c++ - 使用Matlab C++编译器将C++代码转换成Matlab

c - 仅读取文件中选定的数据

c - 堆的基本理解

swift - 静态成员 '<top/center/bottom>' 不能用于 'Alignment' 类型的实例