2013-01-09 103 views
1

我想爲Python的TA-Lib構建mrjbq7的包裝器。經過多次嘗試,我確信包裝程序不會生成,因爲我有Visual Studio 2010,但是我的Python正在從Visual Studio 2008中查找編譯器。是否可以只獲取編譯器?我有一種感覺,我可能需要並排安裝Visual Studio 2008(看到另一個線程表示這可以毫無問題地工作),但如果可能的話,寧願避免它。可能嗎?
更多信息:
的Visual Studio 2010速成安裝
的Windows 7
的Python 2.7.3
pythonxy27還安裝
理由懷疑它是編譯器版本:
一個 - 最後一個錯誤我得到的是參考未知_ftol2_sse_ ,其他線程所說的是由於使用了錯誤的編譯器
b - sys.version for MSC v。是1500,它是MSVC 9.0(在解釋器中使用distutils \ cygwincompiler.py中的幾行來找到這個)安裝Visual Studio 2010時如何使用Visual Studio 2008進行編譯?

我希望這是所有必需的信息,如果需要,我會添加更多信息。

回答

8

根本不需要安裝Visual Studio來編譯Python擴展。安裝適當的Windows SDK(對於Python 2.7,將爲here)。然後,使用Windows SDK命令提示符下,說服的distutils使用2008 MSVC:

set MSSdk=1 
set DISTUTILS_USE_SDK=1 
setenv /Release 

然後,您應該能夠然後通過setup.py安裝

+0

謝謝 - 它變得更遠一點,現在我得到錯誤:「build \ lib.win32-2.7 \ talib。pyd:致命錯誤LNK1120:391無法解析的外部錯誤 錯誤:命令'link.exe'失敗,退出狀態爲1120「。我將開始新的搜索以解決該問題。 –

1

謝謝您的幫助路易斯,從那裏我發現解決方案link.exe 1120錯誤:
1 - 從Luis post WindowsSH上獲取Windows SDK
2 - 轉到Visual Studio 9 bin文件夾(我的是:C:\ Program Files(x86)\ Microsoft Visual Studio 9.0 \ VC \ bin) 3 - 打開Visual Studio 2008命令提示符
4 - 將目錄更改爲mrjdb7的文件夾
5 - 在命令提示符下輸入「蟒蛇的setup.py安裝」

在這一點上,你應該得到的錯誤:「找不到vcvarsall.bat」

6 - 複製和粘貼vcvar32.bat
7 - 重命名它vcvarsall.bat

在這一點上,它仍然無法正常工作。它是在一個distutils的Python文件

8個問題 - 瀏覽到的distutils文件夾(我的:C:\ Python27 \ LIB \的distutils)
9 - 開放msvc9compiler.py
10 - 查找功能的「高清find_vcvarsall (版本):「(mine:line 219)
11 - 在函數結束時,查找這行:'vcvarsall = os.path.join(productdir,」vcvarsall.bat「)'(mine:line 257)
12 - 替換爲:vcvarsall = os.path.join(productdir,R 「BIN \ vcvarsall.bat」)

我發現這個問題,msvc9compiler.py是從哪裏vcvarsall.bat文件中查找一個文件夾了我s,它應該查看\ bin文件夾。

相關問題