2012-12-22 22 views
5

मैं अपने पाइथन प्रोग्राम setuptools.setup के साथ वितरित करता था। लेकिन अब मैं distutils.core.setup का उपयोग करना चाहता हूं।distutils.core.setup कंसोल स्क्रिप्ट प्रविष्टि बिंदु?

setuptools के साथ मैं एक कोड इस के समान इस्तेमाल किया:

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" ] } 
    ... 
) 

मैं distutils साथ भी ऐसा ही करना चाहते हैं - लेकिन कोई entry_points उपलब्ध है। मैं इसे कैसे प्रबंधित कर सकता हूं? मैं अपना नया आदेश कैसे निर्दिष्ट कर सकता हूं?

उत्तर

8

आप distutils के साथ नहीं कर सकते हैं। यह entry_points का समर्थन नहीं करता है, यह एक सेटअपtools-only सुविधा है।

इसके बजाय setuptools का उपयोग करें; यह समर्थन करता है, पायथन 3.

+0

ठीक है, धन्यवाद! तो, distutils केवल पाइथन मॉड्यूल स्थापित करने के लिए इस्तेमाल किया जा सकता है और "आदेश" स्थापित नहीं करने के लिए ?! – tuxtimo

+0

बिल्कुल; पायथन 2 में 'distutils' भी मौजूद है।' setuptools' 'distutils' का विस्तार है। –

+0

जुलाई 2013 से 'setuptools'' जाने का रास्ता है। – guettli

2
distutils साथ

, लिपियों इस उदाहरण की तरह बस फ़ाइलें हैं,:

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

अपने सेटअप स्क्रिप्ट में, आप इन फ़ाइलों को सूचीबद्ध करने के लिए स्क्रिप्ट पैरामीटर का उपयोग करें।

यह यूनिक्स पर बहुत अच्छा काम करता है और यदि लोग/इंस्टॉलर फ़ाइल एसोसिएशन को सही तरीके से सेट करते हैं तो विंडोज़ पर काम कर सकते हैं (कोई बाइनरी रैपर उत्पन्न नहीं होता है, जैसे सेटअप सेटअप करता है)। विंडोज के लिए ए। एपी एक्सटेंशन की आवश्यकता होगी, और यूनिक्स पर ठीक होगा (अनियंत्रित और कई लोगों के लिए बदसूरत)।

बिल्कुल सही से, लेकिन यदि आप दर्शक उदाहरण के लिए डेवलपर्स हैं, या विंडोज का उपयोग नहीं करते हैं तो काम कर सकते हैं।