這對我沒有意義。我如何使用setup.py來安裝Cython,然後使用setup.py來編譯庫代理?在一個涉及Cython的setup.py中,如果install_requires,那麼怎麼從庫中導入一些東西?
import sys, imp, os, glob
from setuptools import setup
from Cython.Build import cythonize # this isn't installed yet
setup(
name='mylib',
version='1.0',
package_dir={'mylib': 'mylib', 'mylib.tests': 'tests'},
packages=['mylib', 'mylib.tests'],
ext_modules = cythonize("mylib_proxy.pyx"), #how can we call cythonize here?
install_requires=['cython'],
test_suite='tests',
)
後來: 蟒蛇的setup.py建立
Traceback (most recent call last):
File "setup.py", line 3, in <module>
from Cython.Build import cythonize
ImportError: No module named Cython.Build
這是因爲用Cython尚未安裝。
奇怪的是,很多項目都是這樣寫的。快速github搜索顯示:https://github.com/search?utf8=%E2%9C%93&q=install_requires+cython&type=Code
奇怪的是,很多項目使用的代碼,因爲我寫了它。在GitHub上快速搜索可以發現它們中的大部分。沒有人在全新安裝上測試過他們的代碼? https://github.com/search?utf8=%E2%9C%93&q=install_requires+cython&type=Code – 010110110101
這樣做並不是非常方便。大型支持包(例如'cython','lxml','pandas')通常會成爲陰險的期望。許多在Travis CI上進行測試,或者在本地使用虛擬環境'tox'等進行測試。但是這些構建環境會得到*自定義安裝程序*,這些程序不是從頭開始手動運行安裝程序。輕鬆運行測試很容易 - 自動構建十幾個不同的Python版本,覆蓋率達到100% - 不能單獨從'setup.py'單獨正確安裝。去過也做過。尷尬,煩人,而且非常容易。 –