एक setup.py setuptools का उपयोग करता है के साथ एक अजगर पैकेज पैकेजिंग जब:मैं सेटअपtools subversion सूची को अनदेखा कैसे कर सकता हूं?
from setuptools import setup
...
स्रोत द्वारा बनाई वितरण:
python setup.py sdist
न केवल शामिल है, हमेशा की तरह, फ़ाइलों को मालसूची में निर्दिष्ट। में, लेकिन यह भी, मुफ्त में, उन सभी फ़ाइलों को शामिल करता है जो सबवर्सन को पैकेज निर्देशिका के नीचे नियंत्रित संस्करण के रूप में सूचीबद्ध करता है। यह काफी परेशान है। न केवल मेरे पैकेज के साथ कौन सी फाइलें वितरित की जाती हैं, इस पर किसी भी प्रकार के स्पष्ट नियंत्रण का प्रयोग करना मुश्किल हो जाता है, लेकिन इसका मतलब है कि जब मैं "svn checkout" के बजाय "svn export" के बाद अपना पैकेज बनाता हूं, तो मेरी सामग्री पैकेज काफी अलग हो सकता है, क्योंकि .svn metadata setuptools के बिना क्या शामिल करना है इसके बारे में अलग-अलग विकल्प बनायेगा।
मेरा प्रश्न: मैं इस भयानक व्यवहार को कैसे बंद कर सकता हूं, ताकि "setuptools" मेरे प्रोजेक्ट का वैसे ही व्यवहार करे, चाहे मैं सबवर्जन का उपयोग कर रहा हूं या संस्करण नियंत्रण जिसे कभी नहीं सुना है, या "svn" निर्यात "है कि मैंने यह सुनिश्चित करने के लिए अपनी परियोजना के अंत में बनाया है कि यह मेरी कार्यशील निर्देशिका के अलावा कहीं और साफ बनाता है?
सबसे अच्छा मैं अब तक कामयाब रहे एक बदसूरत बंदर-पैच है:
from setuptools.command import sdist
del sdist.finders[:]
लेकिन यह, अजगर, नहीं जंगल है, तो निश्चित रूप से मैं एक बेहतर समाधान है कि सभी में कोई बंदरों शामिल करना चाहते हैं। मैं setuptools को कैसे रोक सकता हूं, अपने जादू को बंद कर सकता हूं, और इसके बजाय मेरे MANIFEST.py में दृश्यमान, अनुमानित नियमों को देखकर समझदारी से व्यवहार कर सकता हूं?
मुझे लगता है कि मुझे यहां एक ही समस्या है, केवल .git और py2app के साथ: http://stackoverflow.com/questions/9845590/py2app-picking-up-git-subdir-of-a-package-during -बिल्ड – jdi
वाह, यह * एक ही समस्या की तरह दिखता है! –
मैंने अपने स्वयं के प्रश्न के उत्तर के रूप में एक बंदरगाह हैक पोस्ट किया। हैवेन्ट ने अभी तक कुछ भी बेहतर पाया है – jdi