Projemde kullanmak için Python'da bazı kitaplıklar yazdım. Bunları yerel olarak sistemimde ve ayrıca Github'da da saklıyorum. Şimdi her kod yazdığımda, kütüphanelerimi sistemimdeki dizinden içe aktarmaya yardımcı olmak için başlangıçta sys.path.append()
kullanıyorum. QuacpyGithub'dan python kitaplıklarını içe aktarma
cevap
Bu duvardan biraz hissediyor ama herhangi if (sizin için işe yarayabilecek - Ben varsa zaten benim Github depo
benim repoya bağlantı doğrudan bu dosyaları aktarmak için de merak ediyorum bu senin kütüphaneleri birbirlerine bağlıdır, siz) !? çok githubimports için bu ithalatı değiştirmek gerekecek:
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')
yüklü gereken bir repo kullanmak istiyorsanız, emin değilim nasıl olur başka bir python betiğindeki kurulumu otomatikleştirmek (kurulum başarısız olursa ne yapacağınız da). Sadece başka bir dosyadan bazı yöntemler kullanmak istiyorsanız
Ancak, bu dosyayı indirmek ve daha sonra alabiliriz:
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
Belki hatta tüm zip indirmek olabilir, açın ve ardından içe Dosyalar.
Geçerli bir setup.py dosyanız varsayarsak, pip
, git tabanlı yüklemeyi destekler. Ayrıntılar
Spoiler bakınız:
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
Cevabınız için teşekkürler. Ancak, bir kod çalıştırdığım her defasında uzaktan bazı dosyaları almak yerine, modülü kurmak istemiyorum. Sizin yönteminiz bunu yapmak için mantıklı bir yoldur. – biryani
Bu şekilde bütün depo ithal: Bir setup.py dosyası olmadığından şu anda pip kullanmayı deneyin eğer, aşağıdaki hata görürsünüz modül, Python 3: onlar varsa
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
bir 'Eğer' yüklemek pip olabilir setup.py' ... 'bir GitHub repo – jonrsharpe