C dilinde yazılan bir alt modülü içeren bir Python modülü yazdım: modülün kendisi foo
ve C kısmı foo._bar
'dur. Bunu artırmak içinSphinx'i bir distutil yapılı C uzantısı ile kullanma
src/
foo/__init__.py <- contains the public stuff
foo/_bar/bar.c <- the C extension
doc/ <- Sphinx configuration
conf.py
...
foo/__init__.py
ithalatı _bar
ve faydalı şeyler foo
modülünde maruz: yapı gibi görünüyor. Bu, oluşturulduğunda gayet iyi çalışıyor, ancak henüz oluşturulmamış formda çalışmayacaksınız, çünkü _bar
, yerleşik olana kadar mevcut değil.
Projeyi belgelemek için Sphinx'i kullanmak ve foo
modülündeki autodoc uzantısını kullanmak istiyorum. Bu, belgeyi oluşturabilmek için projeyi oluşturmam gerektiği anlamına geliyor.
Zor durumlarla oluşturduğumdan, yerleşik modül bazı değişken olarak adlandırılmış dir build/lib.linux-ARCH-PYVERSION
olarak biter - bu da, dizini yalnızca bir Sphinx 'conf.py
içine kodlayamıyorum anlamına gelir.
Sphinx oluşturucuyu yerleşik modül üzerinden çalıştırmak için setup.py
komut dizilerini nasıl yapılandırabilirim? distutils yana
setup(cmdclass = {
'fake': fake,
'build_ext_fake' : build_ext_fake
},
package_dir = {'': 'src'},
packages = ['foo'],
name = 'foo',
version = '0.1',
description = desc,
ext_modules = [module_real])
Oldukça iyi bir yaklaşım - bu hakkı "conf.py" (sanırım) 'a koyabilirim. Yarın deneyeceğim. – detly
Aha ... 'build_tip', 'build_temp' işlevini kullanmam ve çapraz derlememle uğraşmam gerekiyordu, ama çalışıyor gibi görünüyor (ve eklenti parçası olarak ek bir bonus olarak!) – detly
Cool, eğer Daha fazla ayrıntı ekleyebilirim (veya diğer adımların faydalanabilmesi için tam adımlarınızla bir cevap ekleyebilirim). – TryPyPy