如何在 virtualenv 中使用 MinGW 编译 Python C 扩展?

Posted

技术标签:

【中文标题】如何在 virtualenv 中使用 MinGW 编译 Python C 扩展?【英文标题】:How do I compile Python C extensions using MinGW inside a virtualenv? 【发布时间】:2010-11-04 04:13:13 【问题描述】:

在 Windows 上将 virtualenv 与 MinGW 编译器结合使用时,编译 C 扩展会导致以下错误:

C:\MinGW\bin\..\lib\gcc\mingw32\3.4.5\..\..\..\..\mingw32\bin\ld.exe:找不到-lpython25 collect2: ld 返回 1 个退出状态 错误:安装脚本退出并出现错误:命令“gcc”失败,退出状态为 1

如何才能成功编译 C 扩展?

【问题讨论】:

【参考方案1】:

设置 LIBRARY_PATH 环境变量,以便 MinGW 知道在哪里可以找到系统范围的 Python libpython25.a

在您的 virtualenv 的 activate.bat 中添加一行:

set LIBRARY_PATH=c:\python25\libs

或者在 Windows 中设置一个全局环境变量。

如果您使用的不是 2.5 版,请务必更改 25 以对应您的 Python 版本。

【讨论】:

非常感谢您用答案更新您的问题。正在努力解决同样的问题,这就是问题所在!

以上是关于如何在 virtualenv 中使用 MinGW 编译 Python C 扩展?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Linux 中激活 virtualenv?

如何在 PyCharm 终端中激活 virtualenv?

Python中Virtualenv和pip如何使用?

如何在pycharm中使用配置好的virtualenv环境

如何使用 virtualenv 在 django 中启动一个新项目

如何在 QT Creator 中使用 mingw 在多核上编译