मैं 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एक चेतावनी है कि निजी रिपॉज को अलग से डाउनलोड किया जाना चाहिए। यह स्पष्ट रूप से आदर्श से कम है। मुझे ऐसा लगता है कि कुछ स्पष्ट है जो मुझे याद आ रहा है, लेकिन यह नहीं सोच सकता कि यह क्या हो सकता है। :)
यहाँ कोई जवाब नहीं के साथ डुप्लिकेट-ईश प्रश्न ।