2
爲了安裝Python包我們做就地和一個安裝建築Python擴展拍攝
python setup.py install
,或者如果我們用Cython模塊,以建立他們在原地的,我們做
python build_ext --inplace
有沒有一種方法可以同時做到這一點?這對我很有用,這樣我就可以對本地文件執行源代碼級調試,同時還可以使我的站點包保持最新,以便使用站點包代碼的GUI程序進行更新。
通常我砍我的setup.py文件有在標題是這樣的:
if len(sys.argv) == 1:
# sys.argv += ['build_ext','--inplace']
sys.argv += ['build','install']
然後我去掉一個我想和註釋掉另外一個。這很醜陋,但是這樣我就可以運行setup.py腳本(在Scite或Eclipse中)而不必訴諸於控制檯。所以我理想喜歡使用類似於如下命令:
sys.argv += ['build_ext','--inplace','install']
但這些語義不起作用,python生氣
都能跟得上 - 它不會複製在build_ext工序中產生的.pyd文件 - 只有.py文件被拷貝 – ibell
聽起來好像是我的錯誤; install命令調用build,調用build_ext,distutils注意合併所有選項並運行一次命令,因此,當install命令隱式地運行build_ext時,應該使用命令行上顯式的選項build_ext。也許跟蹤哪些文件被創建並且應該被安裝複製的代碼有一個bug。 –