Menginstal paket tertentu dengan versi pip

I'm mencoba untuk menginstal versi 1.2.2 dari MySQL_python adaptor, menggunakan segar virtualenv dibuat dengan --ada-situs-paket pilihan. Versi saat ini ditampilkan di PyPi adalah 1.2.3. Apakah ada cara untuk menginstal versi yang lebih tua? Saya menemukan sebuah artikel yang menyatakan bahwa ini harus di lakukan:

pip install MySQL_python==1.2.2

Ketika diinstal, namun, hal itu masih menunjukkan MySQL_python-1.2.3-py2.6.telur-info pada situs paket. Ini adalah masalah khusus untuk paket ini, atau aku melakukan sesuatu yang salah?

Mengomentari pertanyaan (3)
Larutan

Pertama, saya melihat dua masalah dengan apa yang anda're coba lakukan. Karena anda sudah memiliki versi diinstal, anda harus uninstall saat ini sudah ada driver atau menggunakan pip install-aku MySQL_python==1.2.2

Namun, anda'll segera mengetahui bahwa ini doesn't bekerja. Jika anda melihat pip's log instalasi, atau jika anda melakukan pip install-Iv MySQL_python==1.2.2 anda'll menemukan bahwa PyPI URL link tidak bekerja untuk MySQL_python v1.2.2. Anda dapat memverifikasi ini di sini: http://pypi.python.org/pypi/MySQL-python/1.2.2

Link download 404s dan mundur URL link yang kembali mengarahkan jauh karena sourceforge.net's baru-baru upgrade dan PyPI's basi URL.

Jadi untuk benar menginstal driver, anda bisa ikuti langkah-langkah berikut:

pip uninstall MySQL_python
pip install -Iv http://sourceforge.net/projects/mysql-python/files/mysql-python/1.2.2/MySQL-python-1.2.2.tar.gz/download
Komentar (6)

Anda bahkan dapat menggunakan berbagai versi dengan pip menginstal perintah. Sesuatu seperti ini:


pip install 'stevedore>=1.3.0,
Komentar (6)

Salah satu cara seperti yang disarankan di post ini adalah untuk menyebutkan versi di pip sebagai

pip install-Iv MySQL_python==1.2.2

yaitu Menggunakan == dan menyebutkan nomor versi untuk hanya menginstal yang versi. -I, --ignore-dipasang mengabaikan sudah terinstall.

Komentar (1)

Untuk menginstal tertentu python versi paket apakah itu adalah pertama kalinya, upgrade atau downgrade menggunakan:

pip install --force-reinstall MySQL_python==1.2.4

MySQL_python versi 1.2.2 tidak tersedia jadi saya menggunakan versi yang berbeda. Untuk melihat semua paket yang tersedia versi dari indeks mengecualikan versi:

pip install MySQL_python==
Komentar (1)

Saya percaya bahwa jika anda sudah memiliki paket ini diinstal, pip tidak akan ditimpa dengan versi lain. Menggunakan aku untuk mengabaikan versi sebelumnya.

Komentar (3)

Kadang-kadang, versi yang telah diinstal sebelumnya di-cache.

~$ pip install pillow==5.2.0

Ia mengembalikan hal-hal berikut ini: Persyaratan sudah puas: bantal==5.2.0 di /home/ubuntu/anaconda3/lib/python3.6/situs-paket (5.2.0)

Kita dapat menggunakan-no-cache-dir bersama-sama dengan aku untuk menimpa ini

~$ pip install --no-cache-dir -I pillow==5.2.0
Komentar (0)

Karena ini tampaknya menjadi perubahan melanggar diperkenalkan di versi 10 pip, saya downgrade ke versi yang kompatibel:


pip install 'pip
Komentar (0)

Aku baru saja berlari ke dalam masalah ketika menggunakan pip's -I bendera yang saya ingin mendokumentasikan suatu tempat:

-I akan tidak uninstall paket yang ada sebelum melanjutkan; itu hanya akan menginstalnya di atas yang lama. Ini berarti bahwa setiap file yang harus dihapus antara versi sebaliknya akan dibiarkan di tempat. Hal ini dapat menyebabkan perilaku aneh jika file-file tersebut berbagi nama dengan modul diinstal.

Misalnya, let's mengatakan's sebuah paket bernama paket. Di dalam salah satu paket file, mereka menggunakan impor datetime. Sekarang, dalam package@2.0.0, ini poin untuk perpustakaan standar datetime modul, tetapi dalam package@3.0.0, mereka menambahkan lokal datetime.py sebagai pengganti standar perpustakaan versi (untuk alasan apapun).

Sekarang mari kita mengatakan bahwa saya menjalankan pip menginstal paket==3.0.0, tapi kemudian menyadari bahwa saya benar-benar ingin versi 2.0.0. Jika sekarang saya menjalankan pip install-I paket==2.0.0, tua datetime.py file tidak akan dihapus, jadi setiap panggilan untuk mengimpor datetime akan mengimpor salah modul.

Dalam kasus saya, ini diwujudkan dengan aneh kesalahan sintaks karena versi yang lebih baru dari paket menambahkan sebuah file yang hanya kompatibel dengan Python 3, dan ketika saya downgrade paket versi untuk dukungan Python 2, saya terus mengimpor Python-3-satunya modul.

Berdasarkan hal ini, saya berpendapat bahwa menghapus instalasi paket lama selalu lebih baik untuk menggunakan aku ketika memperbarui paket yang diinstal versi.

Komentar (0)

Ini perintah di bawah ini bekerja untuk saya

Python versi 2.7

paket - python-jenkins

perintah - $ pip menginstal 'python-jenkins>=1.1.1'

Komentar (0)

Ada 2 cara anda dapat menginstal setiap paket dengan versi:- A). pip install-Iv paket-nama == versi B). pip install-v paket-nama == versi

Untuk

Di sini, jika anda're menggunakan opsi-I saat menginstal(ketika anda don't tahu jika paket sudah terinstall) (seperti 'pip install-Iv pyreadline == 2.* 'atau sesuatu), anda akan menginstal paket terpisah dengan paket yang ada memiliki beberapa versi yang berbeda.

B

  1. Pada awalnya, anda mungkin ingin memeriksa untuk tidak patah persyaratan. pip check

2.dan kemudian melihat apa yang's sudah dipasang oleh pip daftar

3.jika daftar paket berisi paket yang ingin anda install dengan versi tertentu maka pilihan yang lebih baik adalah untuk meng-uninstall paket ini versi pertama, dengan pip uninstall paket-nama

4.Dan sekarang anda dapat pergi ke depan untuk menginstal paket yang sama dengan versi tertentu, oleh pip install-v paket-nama==versi misalnya pip install-v pyreadline == 2.*

Komentar (0)

Jika anda ingin update ke versi terbaru dan anda don't tahu apa versi terbaru anda dapat mengetik.

pip menginstal MySQL_python-upgrade

Ini akan memperbarui MySQL_python untuk versi terbaru yang tersedia, anda dapat menggunakan untuk setiap paket lain versi.

Komentar (0)