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?
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
Anda bahkan dapat menggunakan berbagai versi dengan pip menginstal
perintah. Sesuatu seperti ini:
pip install 'stevedore>=1.3.0,<1.4.0'
Dan jika paket sudah terinstall dan anda ingin melakukan downgrade tambahkan --force-instal ulang
seperti ini:
pip install 'stevedore>=1.3.0,<1.4.0' --force-reinstall
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.
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==
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
Karena ini tampaknya menjadi perubahan melanggar diperkenalkan di versi 10 pip, saya downgrade ke versi yang kompatibel:
pip install 'pip<10'
Perintah ini memberitahu pip untuk menginstal versi modul yang lebih rendah dari versi 10. Melakukan hal ini dalam virutalenv sehingga anda don't mengacaukan situs anda instalasi Python.
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 [email protected]
, ini poin untuk perpustakaan standar datetime
modul, tetapi dalam [email protected]
, 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.
Ini perintah di bawah ini bekerja untuk saya
Python versi 2.7
paket - python-jenkins
perintah - $ pip menginstal 'python-jenkins>=1.1.1'
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
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.*
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.