2012-12-22 21 views
5

Python programlarını setuptools.setup ile dağıtıyordum. Ama şimdi distutils.core.setup'u kullanmak istiyorum. setuptools iledistutils.core.setup konsol komut dosyası giriş noktası?

Ben buna benzer bir kod kullandı: Ben distutils ile aynı yapmak istiyorum

setup(
    name = "radish", 
    version = "0.01.00", 
    description = "Behaviour-Driven-Development tool for python", 
    author = "Timo Furrer", 
    author_email = "[email protected]", 
    url = "http://github.com/timofurrer/radish", 
    packages = [ "radish", "radish/Writers" ], 
    entry_points = { "console_scripts": [ "radish = radish.main:main", ] }, 
    package_data = { "radish": [ "*.md" ] } 
    ... 
) 

- ama hiçbir entry_points yoktur. Bunu nasıl yönetebilirim? Yeni komutumu nasıl belirleyebilirim?

cevap

8

distutils ile yapamazsınız. entry_points'u desteklemiyor, bu yalnızca bir kurulum için yalnızca özellik. Bunun yerine setuptools kullanın; Kurulum komut dosyasında

#!/usr/bin/env python 
from radish.main import main 
main() 

, bu dosyaları listelemek için komut parametresini kullanın: Python distutils ile 3.

+0

Tamam, teşekkürler! Yani, distutils sadece python modüllerini kurmak ve "komutları" yüklememek için kullanılabilir ?! – tuxtimo

+0

Tam olarak; 'distutils' de Python 2'de mevcut.' setuptools' 'distutils' için bir uzantısıdır. –

+0

Temmuz 2013'ten beri '' setuptools'' gitmenin yoludur. – guettli

2

, komut bu örnekte olduğu gibi, sadece dosyalarıdır destekler.

Bu, Unix'te harika çalışır ve insanlar/yükleyiciler dosya ilişkilendirmelerini düzgün şekilde ayarladılarsa (setuptools'un yaptığı gibi ikili paket oluşturulmaz) Windows üzerinde çalışabilirler. Windows için bir .py uzantısı gerekli olacak ve Unix'te tamam (gereksiz ve çirkin insanlar için) olacak.

Mükemmel olmaktan çok uzaktır, ancak seyirci örneğin geliştiricilerse veya Windows kullanmıyorsanız çalışabilir.

İlgili konular