Установка определенных версий пакета с помощью pip

Я пытаюсь установить версию 1.2.2 адаптера MySQL_python, используя свежий virtualenv, созданный с помощью . Текущая версия, показанная в PyPi, -1.2.3. Есть ли способ установить более старую версию? Я нашел статью, в которой говорилось, что это должно сделать:

pip install MySQL_python==1.2.2

при установке, однако, он по-прежнему показывает MySQL_python-1.2.3-py2.6.egg-информация в пакетах сайта. Это проблема, специфичная для этого пакета, или я делаю что-то неправильно?

6 ответов


во-первых, я вижу две проблемы с тем, что вы пытаетесь сделать. Поскольку у вас уже установлена версия, вы должны либо удалить текущий существующий драйвер, либо использовать pip install -I MySQL_python==1.2.2

однако, вы скоро узнаете, что это не работает. Если вы посмотрите на журнал установки pip, или если вы сделаете pip install -Iv MySQL_python==1.2.2 вы обнаружите, что ссылка URL PyPI не работает для MySQL_python v1.2.2. Вы можете проверить это здесь: http://pypi.python.org/pypi/MySQL-python/1.2.2

ссылка загрузки 404s и резервные ссылки URL перенаправляют бесконечно из-за sourceforge.net недавнее обновление и устаревший URL PyPI.

чтобы правильно установить драйвер, вы можете выполнить следующие действия:

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

вы даже можете использовать различные версии

pip install 'stevedore>=1.3.0,<1.4.0'

один из способов, как полагают в этот пост отметить в версии pip as

pip install -Iv MySQL_python==1.2.2

т. е. использовать == и укажите номер версии, чтобы установить только эту версию. -I, --ignore-installed игнорирует уже установленные пакеты.


Я считаю, что если у вас уже установлен пакет, pip не будет перезаписывать его другой версией. Использовать -I игнорировать предыдущие версии.


чтобы установить конкретную версию пакета python, будь то в первый раз, обновление или понижение:

pip install --force-reinstall MySQL_python==1.2.4

MySQL_python версии 1.2.2 недоступен, поэтому я использовал другую версию. Для просмотра всех доступных версий пакета из индекса исключите версию:

pip install MySQL_python==

поскольку это, по-видимому, было разрушительным изменением, введенным в версии 10 pip, я понизил до совместимой версии:

pip install 'pip<10' 

эта команда сообщает pip установить версию модуля ниже версии 10. Сделайте это в virutalenv таким образом, вы не испортите установку Python на своем сайте.