Instalowanie określonych wersji pakietów za pomocą pip

Próbuję zainstalować wersję 1.2.2 adaptera MySQL_python, używając świeżego virtualenv utworzonego z opcją --no-site-packages. Aktualna wersja pokazana w PyPi to 1.2.3. Czy istnieje sposób na zainstalowanie starszej wersji? Znalazłem artykuł stwierdzający, że to powinno to zrobić:

pip install MySQL_python==1.2.2

Po zainstalowaniu nadal pokazuje MySQL_python-1.2.3-py2.6.jajko-info w pakietach witryny. Czy jest to problem specyficzny dla tego pakietu, czy robię coś nie tak?

Author: Anthon, 2011-03-08

6 answers

Po pierwsze, widzę dwa problemy z tym, co próbujesz zrobić. Ponieważ masz już zainstalowaną wersję, powinieneś albo odinstalować istniejący sterownik lub użyć pip install -I MySQL_python==1.2.2

Jednak wkrótce się przekonasz, że to nie działa. Jeśli spojrzysz na dziennik instalacji Pipa lub wykonasz pip install -Iv MySQL_python==1.2.2, zobaczysz, że link URL PyPI nie działa dla MySQL_python v1.2.2. Możesz to sprawdzić tutaj: http://pypi.python.org/pypi/MySQL-python/1.2.2

Link do pobrania 404s i zapasowe linki URL są przekierowywane w nieskończoność ze względu na sourceforge.net najnowsza aktualizacja i stary URL PyPI.

Aby poprawnie zainstalować sterownik, możesz wykonać następujące kroki:

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
 645
Author: Mahmoud Abdelkader,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-07-25 11:36:12

Możesz nawet użyć zakresu wersji za pomocą polecenia pip install. Coś takiego:

pip install 'stevedore>=1.3.0,<1.4.0'
 285
Author: user1978556,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-11-19 19:51:23

Jednym ze sposobów sugerowanych w w tym poście jest wymienienie wersji w pip jako

pip install -Iv MySQL_python==1.2.2

Tzn. Użyj == i podaj numer wersji, aby zainstalować tylko tę wersję. -I, --ignore-installed ignoruje już zainstalowane pakiety.

 95
Author: Srikar Appalaraju,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:10:48

Wierzę, że jeśli masz już zainstalowany pakiet, pip nie nadpisze go inną wersją. Użyj -I, aby zignorować poprzednie wersje.

 35
Author: dappawit,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-03-07 23:13:22

Aby zainstalować konkretną wersję pakietu Pythona, niezależnie od tego, czy jest to pierwszy raz, upgrade lub downgrade użyj:

pip install --force-reinstall MySQL_python==1.2.4

MySQL_python Wersja 1.2.2 nie jest dostępna, więc użyłem innej wersji. Aby wyświetlić wszystkie dostępne wersje pakietu z indeksu, wyklucz wersję:

pip install MySQL_python==
 26
Author: Zach Weg,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-04-05 07:00:00

Ponieważ okazało się, że jest to przełomowa zmiana wprowadzona w wersji 10 pip, zmniejszyłem ją do kompatybilnej wersji:

pip install 'pip<10' 

To polecenie mówi pip, aby zainstalował wersję modułu niższą niż wersja 10. Zrób to w virutalenv , aby nie spieprzyć instalacji Pythona.

 1
Author: Trenton,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-09-02 00:54:25