沒有辦法做到這一步,但作爲一個兩步過程很容易。
用途:
python bootstrap.py
./bin/buildout install cython
./bin/cpy bootstrap.py
./bin/cpy ./bin/buildout
的原因,這可能是因爲擴建支持一個不起眼的選項「安裝」,這沒有人掛在嘴邊,但你可以使用它,像這樣:
[buildout]
parts = deps py # <---- Notice we don't depend on cython here
eggs =
whatever
kdist
nark
kivy # <--- But we do have a module that requires cython to build
develop =
.
lib/nark
lib/kivy-dist
[cython] # <---- By calling ./bin/buildout install cython we trigger this
recipe = zc.recipe.egg:script
parts = cython-py
interpreter = cpy # <--- Which makes our dummy ./bin/cpy
eggs =
cython
pyinstaller
[deps]
recipe = zc.recipe.egg:eggs
eggs = ${buildout:eggs}
[py]
recipe = zc.recipe.egg:script
interpreter = py
eggs = ${buildout:eggs}
關於這種方法的可愛的事情是,第二次運行構建清除bin目錄所以在一天結束時,你留下一個bin目錄,該目錄是l ooks這樣的:
$ ls bin/
buildout garden py
沒有剩餘的包,可能會或可能不會流連在你的virtualenv,後來搞砸。那爲什麼我們在第一個地方使用buildout?
......當然,如果你想讓cython四處遊走,juts會將它粘貼到頂層的依賴項中。
你確定Cython安裝正確嗎?你已經設置了'PYTHONPATH'環境變量來包含Cython模塊所在的目錄? –
您的意思是在系統級別?這將使這個構建不可能被部署在沒有cython的系統上......? –
「系統級」是什麼意思? –