日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

undefined reference to `_imp___Py_NoneStruct'

發(fā)布時間:2025/4/16 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 undefined reference to `_imp___Py_NoneStruct' 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

http://www.ithao123.cn/content-5989645.html


最近在搗騰Python,主要是因為Google App Engine比較誘人。
用官方的SDK,一開始裝的是2.6,然后每次都會有很多提示deprecated,發(fā)現(xiàn)2.6對2.5的更新比較大,而且貌似在我機(jī)器上記不住用戶名和密碼。由于本人密碼有點復(fù)雜,于是就去找了個2.5來裝。
CPython官方的已經(jīng)沒有提供直接渠道來下載2.5的MSI文件了(2010.10.31更新,官方可以下載到2.5.4版本,http://www.python.org/download/releases/2.5.4/),于是用了ActivePython,但接下來按網(wǎng)上的教程(這篇和這篇)安裝時每次編譯都報錯。
教程的步驟是
1、先安裝MinGW,注意把安裝目錄的bin目錄加入到系統(tǒng)的path常量中
2、再去下載安裝openssl和libgw32c并解壓到MinGW的文件夾里
3、下載Python 2.5的SSL模塊的源代碼。把setup.py里第152行的地址從C:GnuWin32改為你安裝MinGW的地址
4、如果機(jī)器上同時安裝有Visual Studio 2003,可能需要強(qiáng)制使用MinGW編譯。在Python安裝文件夾的Libdistutils目錄里新建一個文件distutils.cfg,在里面填入

[build] compiler=mingw32
或者在下一步啟動編譯時傳入一個
-c mingw32參數(shù)強(qiáng)制指定MinGW
5、運行setup.py install即可,有上一步的強(qiáng)制則是setup.py install -c mingw32

但我始終在最后一步的編譯過程中報錯,提示很多類似undefined reference to `_imp___Py_NoneStruct'的錯誤。Google搜索后發(fā)現(xiàn)原來是ActivePython自帶的文件有問題(鏈接),本來應(yīng)該有的libpython25.a不存在了,還好有教程可以自己重新生成一個。
1、找到python25.dll(一般是在system32文件夾里)
2、列出函數(shù)導(dǎo)出表,建議用pexport(鏈接1,鏈接2)
3、運行pexports.exe python25.dll > python25.def
4、運行dlltool --dllname python25.dll --def python 25.def --output-lib libpython25.a生成文件
5、最后復(fù)制到Python的libs文件夾里即可

再重新setup.py install即可成功安裝
在Python中import ssl一下看看是不是沒報錯了~~

總結(jié)

以上是生活随笔為你收集整理的undefined reference to `_imp___Py_NoneStruct'的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。