मैं setup.py
एक प्रोजेक्ट के लिए एक फाइल बना रहा हूं जो निजी GitHub रिपॉजिटरी पर निर्भर करता है। फ़ाइल के संबंधित भाग इस तरह दिखते हैं:
from setuptools import setup
setup(name='my_project',
...,
install_requires=[
'public_package',
'other_public_package',
'private_repo_1',
'private_repo_2',
],
dependency_links=[
'https://github.com/my_account/private_repo_1/master/tarball/',
'https://github.com/my_account/private_repo_2/master/tarball/',
],
...,
)
मैं setuptools
इसके बजाय उपयोग कर रहा हूं distutils
क्योंकि उत्तरार्द्ध इस उत्तर के अनुसार install_requires
और dependency_links
तर्कों का समर्थन नहीं करता है ।
उपरोक्त सेटअप फ़ाइल 404 त्रुटि के साथ निजी रिपोज को एक्सेस करने में विफल रहती है - जो कि उम्मीद की जानी है क्योंकि गिथब एक निजी रिपॉजिटरी के लिए अनधिकृत अनुरोधों पर 404 लौटाता है। हालाँकि, मैं यह setuptools
प्रमाणित नहीं कर सकता कि कैसे प्रमाणित किया जाए।
यहाँ कुछ चीजें हैं जो मैंने कोशिश की हैं:
का प्रयोग करें
git+ssh://
बजायhttps://
मेंdependency_links
के रूप में मैं अगर साथ रेपो स्थापित करने होगाpip
। यह विफल हो जाता है क्योंकि सेटप्टूल इस प्रोटोकॉल ("अज्ञात url प्रकार: git + ssh") को नहीं पहचानते हैं, हालांकि वितरित प्रलेखन का कहना है कि इसे चाहिए। डिट्टोgit+https
औरgit+http
।https://<username>:<password>@github.com/...
- अभी भी एक 404 मिलता है। (यह विधि कमांड लाइन के साथcurl
याwget
तोcurl -u <username> <repo_url> -O <output_file_name>
काम नहीं करती है - हालांकि काम करती है।)नवीनतम संस्करण के लिए सेटअपस्टूल (0.9.7) और वर्चुअनव (1.10) को अपग्रेड करना। हालांकि यह अवलोकन कहता है कि इसे स्थापित करने का प्रयास किया गया था, लेकिन इसे वापस सेटप्टूल में मिला दिया गया था। किसी भी तरह, कोई पासा नहीं।
वर्तमान में मेरे पास केवल setup.py
एक चेतावनी है कि निजी रिपॉज को अलग से डाउनलोड किया जाना चाहिए। यह स्पष्ट रूप से आदर्श से कम है। मुझे ऐसा लगता है कि कुछ स्पष्ट है जो मुझे याद आ रहा है, लेकिन यह नहीं सोच सकता कि यह क्या हो सकता है। :)
यहाँ कोई जवाब नहीं के साथ डुप्लिकेट-ईश प्रश्न ।