Berikut ini adalah masalah
Aku punya requirements.txt yang terlihat seperti:
BeautifulSoup==3.2.0
Django==1.3
Fabric==1.2.0
Jinja2==2.5.5
PyYAML==3.09
Pygments==1.4
SQLAlchemy==0.7.1
South==0.7.3
amqplib==0.6.1
anyjson==0.3
...
Saya punya arsip lokal direktori yang berisi semua paket + lain-lain.
Saya telah menciptakan baru virtualenv dengan
bin/virtualenv testing
setelah mengaktifkan ini, saya mencoba untuk menginstal paket-paket yang sesuai untuk requirements.txt dari direktori arsip lokal.
source bin/activate
pip install -r /path/to/requirements.txt -f file:///path/to/archive/
Saya punya beberapa output yang tampaknya untuk menunjukkan bahwa instalasi baik-baik saja
Downloading/unpacking Fabric==1.2.0 (from -r ../testing/requirements.txt (line 3))
Running setup.py egg_info for package Fabric
warning: no previously-included files matching '*' found under directory 'docs/_build'
warning: no files found matching 'fabfile.py'
Downloading/unpacking South==0.7.3 (from -r ../testing/requirements.txt (line 8))
Running setup.py egg_info for package South
....
Tapi kemudian memeriksa mengungkapkan tidak ada paket yang diinstal dengan benar. Saya tidak dapat mengimpor paket, dan tidak ada yang ditemukan di situs-paket direktori saya virtualenv. Jadi apa yang salah?
I've baca di atas, menyadari ini adalah pertanyaan lama, tapi itu's benar-benar belum terselesaikan dan masih di atas hasil pencarian google jadi di sini's jawaban yang bekerja untuk semua orang:
pip install -r /path/to/requirements.txt
Ini bekerja untuk saya:
$ pip install -r requirements.txt --no-index --find-links file:///tmp/packages
--no-index
- Abaikan paket index (hanya melihat --mencari-link
Url sebaliknya).
-f, --mencari-link <URL>
- Jika URL atau path ke file html, kemudian mengurai untuk link ke arsip.
Jika jalur lokal atau file://
URL yang's sebuah direktori, kemudian mencari arsip dalam daftar direktori.
Saya punya masalah yang sama. Saya mencoba ini:
pip install -U -r requirements.txt
(-U = update jika sudah diinstal)
Tapi masalah terus. Saya menyadari bahwa beberapa dari generic perpustakaan untuk pengembangan yang tidak terjawab.
sudo apt-get install libtiff5-dev libjpeg8-dev zlib1g-dev liblcms2-dev libwebp-dev tcl8.6-dev tk8.6-dev python-tk
Saya don't tahu apakah ini akan membantu anda.
pip install -r requirements.txt
Untuk keterangan lebih lanjut silahkan centang opsi bantuan.
pip install --help
Kita dapat menemukan opsi '-r'
-r, --syarat <File> Menginstal dari mengingat berkas persyaratan. Pilihan ini dapat digunakan beberapa kali.
Informasi lebih lanjut tentang beberapa yang umum digunakan pip menginstal pilihan: (Ini adalah pilihan bantuan pada pip menginstal perintah)
Juga di atas adalah set lengkap pilihan. Silakan gunakan pip menginstal --help ' untuk daftar lengkap opsi.
Sering kali, anda akan ingin cepat menginstal dari arsip lokal, tanpa menyelidik PyPI.
Pertama, download arsip-arsip yang memenuhi kebutuhan anda:
$ pip install --download <DIR> -r requirements.txt
Kemudian, instal menggunakan –menemukan-link
dan yang–ada-index
:
$ pip install --no-index --find-links=[file://]<DIR> -r requirements.txt
Jawaban singkat
pip install -r /path/to/requirements.txt
atau dalam bentuk lain:
python -m pip install -r /path/to/requirements.txt
Penjelasan
Di sini, -r
adalah bentuk pendek dari --kebutuhan
dan meminta pip
untuk menginstal dari yang diberikan persyaratan
file.
pip
akan memulai instalasi hanya setelah memeriksa ketersediaan semua item yang tercantum di bagian persyaratan
file dan tidak't memulai instalasi bahkan jika salah satu kebutuhan
tidak tersedia.
Salah satu solusi untuk menginstal paket yang tersedia adalah menginstal terdaftar paket satu demi satu. Gunakan perintah berikut untuk itu. Warna merah peringatan akan ditampilkan untuk memberitahu anda tentang tersedia paket.
cat requirements.txt | xargs -n 1 pip install
Untuk mengabaikan komentar (baris yang dimulai dengan tanda #
) dan baris kosong, gunakan:
cat requirements.txt | cut -f1 -d"#" | sed '/^\s*$/d' | xargs -n 1 pip install
Saya bekerja dengan banyak sistem yang telah berantakan oleh pengembang "mengikuti petunjuk yang mereka temukan di internet". Hal ini sangat umum bahwa anda pip
dan python
tidak melihat jalan yang sama/situs-paket. Untuk alasan ini, ketika saya mengalami keanehan yang saya mulai dengan melakukan hal ini:
$ python -c 'import sys; print(sys.path)'
['', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old',
'/usr/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/dist-packages',
'/usr/lib/python2.7/dist-packages']
$ pip --version
pip 9.0.1 from /usr/local/lib/python2.7/dist-packages (python 2.7)
Itu adalah bahagiasistem.
Di bawah ini adalah bahagia sistem. (Atau setidaknya itu's yang bahagia tahu sistem yang menyebabkan orang lain untuk menjadi bahagia.)
$ pip --version
pip 9.0.1 from /usr/local/lib/python3.6/site-packages (python 3.6)
$ python -c 'import sys; print(sys.path)'
['', '/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python27.zip',
'/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7',
'/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin',
'/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac',
'/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages',
'/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk',
'/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-old',
'/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload',
'/usr/local/lib/python2.7/site-packages']
$ which pip pip2 pip3
/usr/local/bin/pip
/usr/local/bin/pip3
Hal ini bahagia karena pip
adalah (python3.6) menggunakan /usr/local/lib/python3.6/situs-paket
sementara python
adalah (python2.7) menggunakan /usr/local/lib/python2.7/situs-paket
Ketika saya ingin memastikan saya'm menginstal persyaratan untuk kanan python, saya melakukan ini:
$ which -a python python2 python3
/usr/local/bin/python
/usr/bin/python
/usr/local/bin/python2
/usr/local/bin/python3
$ /usr/bin/python -m pip install -r requirements.txt
Anda've mendengar, "Jika ain't pecah, don't mencoba untuk memperbaikinya." DevOps versi yang ini, "Jika anda tidak't istirahat dan anda dapat bekerja di sekitar itu, don't mencoba untuk memperbaikinya."
Memasang requirements.txt dalam berkas virtual env dengan python 3:
Saya memiliki masalah yang sama. Saya mencoba untuk menginstal requirements.txt dalam berkas virtual environament. Saya menemukan solusi.
Awalnya, saya membuat virtual env dengan cara ini:
virtualenv -p python3 myenv
Mengaktifkan lingkungan menggunakan:
source myenv/bin/activate
Sekarang saya menginstal requirements.txt menggunakan:
pip3 install -r requirements.txt
Instalasi berhasil dan saya mampu untuk mengimpor modul.
pertama-tama, menciptakan lingkungan virtual
di python 3.6
virtualenv --python=/usr/bin/python3.6 <path/to/new/virtualenv/>
di python 2.7
virtualenv --python=/usr/bin/python2.7 <path/to/new/virtualenv/>
kemudian install semua paket yang tersedia di requirement.txt file.
pip install -r <path/to/the/> requirement.txt
pip install --user -r requirements.txt
ATAU
pip3 install --user -r requirements.txt