से पाइथन पुस्तकालयों को आयात करना मैंने अपनी परियोजना में उपयोग के लिए पाइथन में कुछ पुस्तकालयों को लिखा है। मैंने उन्हें अपने सिस्टम पर स्थानीय रूप से और गीथूब पर दूरस्थ रूप से संग्रहीत किया है। अब जब भी मैं कुछ कोड लिखता हूं, तो मैं अपने सिस्टम में निर्देशिका से अपने पुस्तकालयों को आयात करने में मदद के लिए शुरुआत में sys.path.append()
का उपयोग करता हूं। Quacpyगीथब
गीथब
उत्तर
यह दीवार से थोड़ा लगता है, लेकिन (के किसी भी करता है, तो आप के लिए काम कर सकते हैं - मैं सोच रहा था कि अगर वहाँ किसी भी तरह अपना Github रिपॉजिटरी
मेरी रेपो के लिए लिंक से सीधे इन फ़ाइलों को आयात करने के लिए यह है अपने पुस्तकालयों एक दूसरे पर निर्भर है, तो आप भी !? githubimports करने के लिए उन आयात को बदलने के लिए) होगा: यदि आप एक रेपो जो स्थापित किया जाना है उपयोग करना चाहते हैं
import requests
def githubimport(user, repo, module):
d = {}
url = 'https://raw.githubusercontent.com/{}/{}/master/{}.py'.format(user, repo, module)
r = requests.get(url).text
exec(r, d)
return d
qoperator = githubimport('biryani', 'Quacpy', 'qoperator')
, मुझे यकीन है कि नहीं कर रहा हूँ कैसे तुम करोगी इंस्टॉलेशन को अन्य पायथन स्क्रिप्ट के अंदर स्वचालित करना चाहते हैं (इंस्टॉलेशन विफल होने पर भी क्या करना है)।
हालांकि, अगर आप सिर्फ एक फ़ाइल से कुछ तरीकों का उपयोग करना चाहते हैं, तो आप उस फ़ाइल को डाउनलोड कर सकते हैं और फिर इसे आयात:
import urllib2
def download(url):
filename = url.split('/')[-1]
print 'Downloading', filename
f = urllib2.urlopen(url)
data = f.read()
f.close()
with open(filename, 'w') as myfile:
myfile.write(data)
# get repository
download('https://raw.githubusercontent.com/biryani/Quacpy/master/auxfun.py')
# try to import something from it
from auxfun import qregnorm
q = qregnorm([0, 1, 2])
print 'Success! q =', q
शायद तुम यहां तक कि पूरी ज़िप डाउनलोड कर सकते हैं, इसे अनज़िप और फिर आयात फ़ाइलें।
मान लें कि आपके पास वैध setup.py फ़ाइल है, pip
गिट-आधारित स्थापना का समर्थन करता है। देखें विवरण
बिगाड़ने:
pip install -e git+https://github.com/biryani/Quacpy.git#egg=quacpy
Obtaining quacpy from git+https://github.com/biryani/Quacpy.git#egg=quacpy
Cloning https://github.com/biryani/Quacpy.git to /.../quacpy
Complete output from command python setup.py egg_info:
Traceback (most recent call last):
File "<string>", line 18, in <module>
IOError: [Errno 2] No such file or directory: '/.../quacpy/setup.py'
----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /.../quacpy
उत्तर के लिए धन्यवाद। लेकिन मैं मॉड्यूल को स्थापित करने की तलाश नहीं कर रहा हूं, बल्कि हर बार जब मैं कोड चलाता हूं तो इसे दूरस्थ रूप से कुछ फाइल आयात करता हूं। यद्यपि यह करने के लिए आपका तरीका समझदार तरीका है। – biryani
यह एक के रूप में पूरे भंडार का आयात करता है: क्योंकि तुम एक setup.py फ़ाइल नहीं है, आपको निम्न त्रुटि यदि आप वर्तमान में पिप का उपयोग करके देखें देखेंगे मॉड्यूल, अजगर 3:
import sys
import urllib.request # python 3
import zipfile
import os
REPOSITORY_ZIP_URL = 'https://github.com/biryani/Quacpy/archive/master.zip'
filename, headers = urllib.request.urlretrieve(REPOSITORY_ZIP_URL)
zip = zipfile.ZipFile(filename)
directory = filename + '_dir'
zip.extractall(directory)
module_directory_from_zip = os.listdir(directory)[0]
module_directory = 'Quacpy'
os.rename(os.path.join(directory, module_directory_from_zip),
os.path.join(directory, module_directory))
sys.path.append(directory)
import Quacpy
अगर वे एक 'आप' पिप स्थापित कर सकते हैं setup.py' ... 'से एक GitHub रेपो – jonrsharpe