Python - virtualenv kullanarak paketi manuel olarak yükleyin


84

Virtualenv'ime yüklemek istediğim bir python programım var - bu, sıkıştırmam gereken bir zip paketi ve ardından bir setup.py programını çalıştırmam gerekiyor - ancak sorum daha çok bu sıkıştırılmamış dosyaları virtualenv'ime nasıl alacağım, böylece paket virtualenv'in site paketleri klasörüne yüklenir mi?

Virtualenv'imin içinden de kurabiliyorum pip install <package name>, ancak bazı nedenlerden dolayı PIP'in indirdiği paket güncel değil.

Biri bana bir paketi manuel olarak kurmak için birkaç kolay adım söyleyebilir mi?

Şimdiye kadar Virtualenv'i yüklemek için temel komutlara sahibim:

-bash-3.2$ source ~/.bashrc
-bash-3.2$ workon test
(test)-bash-3.2$ //Now I'm working on my virtualenv, but where do I go after this??

Öyleyse - python paketini / programını nereye açtığım önemli mi - yoksa sıkıştırmadan önce virtualenv'de oturum açmalı mıyım? Virtualenv'i yükledikten ve içinde 'workon test' komutuyla kullanıyorum, kurduğum herhangi bir python paketi, bulduğum dizinden bağımsız olarak, kendisini uygun virtualenv'in site paketleri klasörüne yükleyecek mi?

Seçenek 1, python programını / home / username / tmp içine açmaktır - sonra virtualenv'ime giriş yapın, o klasöre gidin ve setup.py programını çalıştırın - virtualenv'in tüm ilgili dosyaları kendi site paketleri klasörüne aktaracağını varsayarak .

VEYA senaryo 2, dosyaları doğrudan site paketlerine açmak ve oradan çalıştırmaktır (virtualenv'de oturum açtıktan sonra), vb.

Bu konuda bir Python clutz'a yardım ettiğiniz için teşekkür ederiz!

Yanıtlar:


123

Genellikle programı geçici bir klasöre çıkarırdım, ardından bu klasörden virtualenv python örneğinin doğrudan yolunu kullanarak setup.py'yi çalıştırırdım. Örneğin, eğer sanal ortamınız / home / kullanıcıadı / virtualpy içindeyse, bunu kullanın (geçici klasörünüzden)

/home/username/virtualpy/bin/python setup.py install

Bu, onu virtualenv site paket klasörünüze yüklemelidir.


2
Yani gerçekten içe aktarma işlemi, virtualenv'de kurulu olan python (2.6) sürümünü kullanarak python çalıştırmaktır ... güzel! Teşekkürler Dwelch.
Jamison

Geçici klasörden çalıştırdığınızdan emin olun; setup.py büyük olasılıkla geçerli klasör olmasını bekler.
Seth

Bu artık gerekli görünmüyor. Sanal ortam etkinleştirildikten sonra, sadece çalıştırıyorum python setup.py installveya python setup.py developve doğru yere kuruluyor.
Oliver

13

sanal ortama geçtiğinizde iyi. yazmalısın

which python

ve sanal ortamınızın bulunduğu yolu döndürürse, sorun değil, bu komutu doğrudan çalıştırabilirsiniz.

$ python setup.py build
$ python setup.py install

ancak yolunuz olmayan genel düzeydeki yolu virtualenv'sveriyorsa,

$ ~/.virtualenv/python-env/bin/python setup.py build
$ ~/.virtualenv/python-env/bin/python setup.py install

0

Bir paket depodan yüklenmezse, sudo kullanarak venv altında deneyin. Python pathos paketine örnek olarak;

/venv3.6/bin$ sudo pip3 install pathos

0

PACKAGE_DIR = / bir / paket / dizin / yol dışa aktarımı VENV = $ (pipenv --venv) && dışa aktar BASE_DIR = $ (pwd) && cd $ PACKAGE_DIR && $ VENV / bin / python setup.py install && cd $ BASE_DIR

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.