Pip / easy_install olmadan bir pypi modülü manuel olarak nasıl kurulur?


91

Bir C / C ++ yazılımı için ekmek kızartma makinesi benzeri bildirimleri görüntülemek için gntp modülünü kullanmak istiyorum . Yazılımın başka bir bilgisayarda kendi kendine çalıştırılabilir olması için tüm bağımlılıkları paketlemek istiyorum.

Gntp modülü yalnızca pip yükleyici aracılığıyla kullanılabilir ve kullanılamaz (Yazılım çalıştıran bilgisayarın herhangi bir internet bağlantısı yoktur): bunu kaynaklardan nasıl kurabilirim?

Kullanıcıyı easy_install / pip'i kurmaya ve pip yolunu elle% PATH'ye eklemeye zorlamamayı tercih ederim.

Not: Windows makinede Python 2.7 kullanıyorum.


4
Belki ile python setup.py install?
Nicolas

Yanıtlar:


149
  1. Paketi indirin
  2. sıkıştırılmışsa açın
  3. setup.py'yi içeren dizine cd
  4. Burada yer alan belgelerde yer alan herhangi bir kurulum talimatı varsa, talimatları okuyun ve aksi takdirde izleyin.
  5. yazın python setup.py install

5. adım için yönetici ayrıcalıklarına ihtiyacınız olabilir. Burada ne yapacağınız işletim sisteminize bağlıdır. Örneğin Ubuntu'da şöyle derdinsudo python setup.py install

DÜZENLEME - kwatford sayesinde (ilk yoruma bakın)

Yukarıdaki 5. adımda yönetici ayrıcalıklarına olan ihtiyacı aşmak için --user bayrağını kullanabilirsiniz. Bu şekilde paketi yalnızca mevcut kullanıcı için kurabilirsiniz.

Dokümanlar şöyle diyor:

Dosyalar site.USER_BASE alt dizinlerine yüklenecektir (bundan sonra kullanıcı tabanı olarak yazılacaktır). Bu şema saf Python modüllerini ve uzantı modüllerini aynı konuma (site.USER_SITE olarak da bilinir) yükler. Mac OS X dahil UNIX değerleri şunlardır:

Daha fazla ayrıntı burada bulunabilir: http://docs.python.org/2.7/install/index.html


8
pip / easy_install / setup.py genellikle --userpaketi yalnızca mevcut kullanıcı için yüklemek için bir bayrak kabul eder , genellikle yönetici erişimi ihtiyacını atlar.
kwatford

3
Bazı nedenlerden dolayı şunu görüyorum: ImportError: No module named 'setuptools'Burada şunu buldum: pypi.python.org/pypi/setuptools/1.1.6 Yükleme bana istisna hataları vermesine rağmen, şimdi websocket modülü hiç çalışmıyor, sanırım vereceğim Bu noktada Windows üzerinde Python 3.3 üzerinde.
SSH Bu

2
@SSHThis: Yüklemesini çalıştırmaya çalıştığım bir paketle aynı sonuçları aldım. Ayrıntı düzeyini açmak, hem yanlış (burada python'un yalnızca bir sürümü yüklü) hem de yardımcı olmayan (belgelenen "python -m easy_install [...] kullanarak bu dağıtım yüklendiğinden - çok sürümlü [...]" "hiç yardımcı olmuyor), seninleyim - Python kullanılamaz.
Eric Towers

1
Sanırım pip install target-packagegenellikle hedef paketin bağlı olduğu diğer paketleri otomatik olarak kurar / günceller. Setup.py yaklaşımı durumunda bu olur mu? Yoksa paketin zip'i de tüm bağımlılıkları içeriyor mu? Ve fermuarlar yerine python tekerlekleri indirmemiz gerektiğini mi söylüyorsunuz? Gibi bu Numpy için? Fermuarları nerede bulamazsanız (örneğin uyuşmuş için)? (Tüm bunları soruyorum çünkü her indirme için mücadele etmem gereken kurumsal proxy arkasında çalışmak zorunda kalıyorum: '()
Mahesha999

3
Çevrimdışıyken paketleri gerçekten indiremezsiniz ... Aptal iş ağınızın dışındayken bunları indirmek istiyorsanız, muhtemelen şunları yapacağım: 1. bir virtualenv yapın. 2. python setup.py installveya pip installihtiyacınız olan her şey. 3. Tüm paketlerin ve tüm sürümlerin bir listesini almak için pip freeze'i çalıştırın. Bunu bir dosyada saklayabilirsiniz (geleneksel olarak requirements.txt 'olarak adlandırılır. O zaman paketleri indirmek istiyorsanız, bunları kullanabileceğiniz farklı makinelere kopyalayabilirsiniz pip download [options] -r <requirements file>. Bu en verimli yol değil. Ama kolay
Sheena

5

Sheena'nın cevabını daha fazla açıklamak için, kurulum araçlarının başka bir araca, örneğin more-itertools'a bağımlı olarak kurulmasına ihtiyacım vardı .

İndir

Click Clone or downloaddüğmesini ve yöntemi seçin. Bunları dev/py/libskullanıcı ana dizinimdeki bir dizine yerleştirdim . Nereye kaydedildikleri önemli değil, çünkü oraya kurulmayacaklar.

Kurulum araçlarını yükleme

Kurulum araçları dizini içinde aşağıdakileri çalıştırmanız gerekecek .

python bootstrap.py
python setup.py install

Genel bağımlılıklar kurulumu

Artık daha fazla itertools direcotry'ye gidebilir ve normal şekilde kurabilirsiniz.

  1. Paketi indirin
  2. Arşiv ise paketinden çıkarın
  3. ( cd ...) Öğesini içeren dizine gidinsetup.py
  4. Burada yer alan belgelerde yer alan herhangi bir kurulum talimatı varsa, talimatları okuyun ve aksi takdirde izleyin.
  5. Yazın: python setup.py install

2

Sheena'nın cevabı işi yapıyor olsa da , pipsadece burada bitmiyor.

Sheena'nın cevabından:

  1. Paketi indirin
  2. sıkıştırılmışsa açın
  3. setup.py'yi içeren dizine cd
  4. Burada yer alan belgelerde yer alan herhangi bir kurulum talimatı varsa, talimatları okuyun ve aksi takdirde izleyin.
  5. yazın python setup.py install

Bunun sonunda, içinde bir .eggdosya ile karşılaşacaksınız site-packages. Bir kullanıcı olarak bu sizi rahatsız etmemelidir. Yapabilirsin importve uninstallpaketi normal olarak. Ancak, bu pipşekilde yapmak istiyorsanız, aşağıdaki adımlara devam edebilirsiniz.

In site-packagesdizinde,

  1. unzip <.egg file>
  2. EGG-INFOdizini şu şekilde yeniden adlandır<pkg>-<version>.dist-info
  3. Şimdi paket adıyla ayrı bir dizin göreceksiniz, <pkg-directory>
  4. find <pkg-directory> > <pkg>-<version>.dist-info/RECORD
  5. find <pkg>-<version>.dist-info >> <pkg>-<version>.dist-info/RECORD. , Üzerine >>yazmayı önlemektir.

Şimdi, site-packagesdizine baktığınızda, onsuz kurulum yaptığınızı asla fark etmeyeceksiniz pip. İçin uninstall, sadece olağan yapmak pip uninstall <pkg>.


Ya Anaconda deposundan bir paket kuruyorsam ve içinde setup.pydosya yoksa ?
karıştı
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.