Unable to Install pyslalib package using python2.7 / MINGW on Windows 10(无法在 Windows 10 上使用 python2.7/MINGW 安装 pyslalib 包)
问题描述
我正在尝试在 Windows 10 上使用 python 2.7 安装 pyslalib 包,并不断收到以下信息:
I'm trying to install the pyslalib package using python 2.7 on Windows 10 and keep getting the following:
collect2.exe:错误:ld 返回 1 个退出状态"
"collect2.exe: error: ld returned 1 exit status"
当我尝试运行python setup.py install"时的消息.我认为这可能是我的 mingw 配置的问题,但我似乎无法找到问题所在.
message when I try to run "python setup.py install". I think this might be an issue with my mingw configuration, but I can't seem to locate the problem.
对于这个问题的任何帮助将不胜感激.我周末大部分时间都在为此苦苦挣扎.
Any help with this issue would be greatly appreciated. I've eaten up most of the weekend struggling with this.
谢谢,
输出错误是:
C:Python27libs/libpython27.a(dmmes01026.o):(.idata$7+0x0): undefined reference to `_head_C__build27_cpython_PCBuild_libpython27_a'
C:Python27libs/libpython27.a(dmmes00281.o):(.idata$7+0x0): undefined reference to `_head_C__build27_cpython_PCBuild_libpython27_a'
C:Python27libs/libpython27.a(dmmes00105.o):(.idata$7+0x0): undefined reference to `_head_C__build27_cpython_PCBuild_libpython27_a'
C:Python27libs/libpython27.a(dmmes00253.o):(.idata$7+0x0): undefined reference to `_head_C__build27_cpython_PCBuild_libpython27_a'
C:Python27libs/libpython27.a(dmmes00227.o):(.idata$7+0x0): undefined reference to `_head_C__build27_cpython_PCBuild_libpython27_a'
C:Python27libs/libpython27.a(dmmes00712.o):(.idata$7+0x0): more undefined references to `_head_C__build27_cpython_PCBuild_libpython27_a' follow
collect2.exe: error: ld returned 1 exit status
推荐答案
这好像是我最近遇到的一个问题.我认为 Python 附带的 libpython27.a
存在问题(我使用的是 2.7.10 版).根据 python27.dll 创建我自己的 libpython27.a
="nofollow">这里解决了这个问题.
This looks like a problem I had recently. I think there is a problem with the libpython27.a
that comes included with Python (I'm on version 2.7.10). Creating my own libpython27.a
from the python27.dll
as per the instructions found here fixed the problem.
要创建 Python 扩展,您需要链接到 Python图书馆.不幸的是,大多数 Python 发行版都提供了Python22.lib
,Microsoft Visual C++ 格式的库.海合会期望一个.a 文件(准确地说是 libpython22.a
.).以下是转换方法python22.lib
到 libpython22.a
:
To create Python extensions, you need to link against the Python library. Unfortunately, most Python distributions are provided with
Python22.lib
, a library in Microsoft Visual C++ format. GCC expects a .a file (libpython22.a
to be precise.). Here's how to convertpython22.lib
tolibpython22.a
:
- 下载 pexport(从这里或https://web.archive.org/web/20000829082204/http://starship.python.net/crew/kernr/mingw32/pexports-0.42h.zip).
- 获取
Python22.dll
(它应该在你硬盘的某个地方). - 运行:
pexports python22.dll >python22.def
这将提取所有符号从python22.dll
并将它们写入python22.def
. - 运行:
dlltool --dllname python22.dll --def python22.def --output-lib libpython22.a
这将创建libpython22.a
(dlltool
是 MinGW 实用程序的一部分). - 将
libpython22.a
复制到c:python22libs
(与python22.lib
).
- Download pexport (from here or https://web.archive.org/web/20000829082204/http://starship.python.net/crew/kernr/mingw32/pexports-0.42h.zip).
- Get
Python22.dll
(it should be somewhere on your harddrive). - Run :
pexports python22.dll > python22.def
This will extract all symbols frompython22.dll
and write them intopython22.def
. - Run :
dlltool --dllname python22.dll --def python22.def --output-lib libpython22.a
This will createlibpython22.a
(dlltool
is part of MinGW utilities). - Copy
libpython22.a
toc:python22libs
(in the same directory aspython22.lib
).
这个技巧应该适用于所有 Python 版本,包括 Python 的未来版本.你也可以使用这个技巧转换其他库.
This trick should work for all Python versions, including future releases of Python. You can also use this trick to convert other libraries.
这篇关于无法在 Windows 10 上使用 python2.7/MINGW 安装 pyslalib 包的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:无法在 Windows 10 上使用 python2.7/MINGW 安装 pyslalib 包


基础教程推荐
- Dask.array.套用_沿_轴:由于额外的元素([1]),使用dask.array的每一行作为另一个函数的输入失败 2022-01-01
- 如何让 python 脚本监听来自另一个脚本的输入 2022-01-01
- 筛选NumPy数组 2022-01-01
- 线程时出现 msgbox 错误,GUI 块 2022-01-01
- 用于分类数据的跳跃记号标签 2022-01-01
- 在 Python 中,如果我在一个“with"中返回.块,文件还会关闭吗? 2022-01-01
- 如何在海运重新绘制中自定义标题和y标签 2022-01-01
- Python kivy 入口点 inflateRest2 无法定位 libpng16-16.dll 2022-01-01
- 何时使用 os.name、sys.platform 或 platform.system? 2022-01-01
- 使用PyInstaller后在Windows中打开可执行文件时出错 2022-01-01