Как установить конкретную версию какого-либо пакета? [Дубликат]

Я использую doctest[1] почти везде, потому что мне нравится то, что я документирую и тестирую свои функции одновременно.

Взглянули на этот код:

def throw_up(something, gowrong=False):
    """
    >>> throw_up('Fish n Chips')
    Traceback (most recent call last):
    ...
    Exception: Fish n Chips

    >>> throw_up('Fish n Chips', gowrong=True)
    'I feel fine!'
    """
    if gowrong:
        return "I feel fine!"
    raise Exception(something)

if __name__ == '__main__':
    import doctest
    doctest.testmod()

, Если Вы помещаете этот пример в модуль и выполняете его из командной строки, оба тестовых сценария оценены и проверены.

[1] документация Python: 23.2 doctest - Тест интерактивные примеры Python

231
задан 14.05.2020, 23:37

2 ответа

Как знать версию установленного пакета?

apt-cache policy <package name>

вышеупомянутая команда будет, шоу установили версию пакета и также все доступные версии в репозитории согласно версии Ubuntu, в котором Вы работаете. Это не отображает версию пакета, которая была предназначена для другой версии Ubuntu (не Ваш).

Пример:

$ apt-cache policy gparted
gparted:
  Installed: 0.16.1-1
  Candidate: 0.16.1-1
  Version table:
 *** 0.16.1-1 0
        500 http://ubuntu.inode.at/ubuntu/ saucy/main amd64 Packages
        100 /var/lib/dpkg/status

, Таким образом, установленная gparted версия 0.16.1-1.

, Как установить определенную версию пакета?

sudo apt-get install <package name>=<version>

Пример:

$ sudo apt-get install gparted=0.16.1-1
Reading package lists... Done
Building dependency tree       
Reading state information... Done
gparted is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 265 not upgraded.
310
ответ дан 14.05.2020, 23:37
  • 1
    Делает подобное использование способной-cyg работы в Cygwin: apt-cyg install package=version? – Tom Blodget 14.05.2020, 23:38
  • 2
    Перечислять все опции: способный список Мадисон < пакет name> – LLIAJLbHOu 14.05.2020, 23:38
  • 3
    Обратите внимание на то, что это, скорее всего, перестанет работать, потому что обычно существуют только 1 или 2 версии пакета, которые доступны в репозитории. Если Вы хотите различную версию, чем в настоящее время разрабатываемый для Вашего распределения, Вы, возможно, должны были бы загрузить его и установка с sudo dkpg -i <package-file>. Ошибки зависимости должны быть разрешены путем загрузки и установки (также с dkpg) всех недостающих пакетов (это может взять много повторений). Кроме того, можно загрузить исходный код программы, скомпилировать его и установить его (это также требует ручного разрешения зависимости). – cs4alhaider 14.05.2020, 23:39
  • 4
    Можно ли предоставить больше подробную информацию для второй команды? Есть ли какие-либо ограничения? Например, мог, кто-то на 12,04 устанавливает версию пакета, доступного в 13,10? – oshevans 14.05.2020, 23:39
  • 5
    В aptitude Enter нажатия на информации о дисплеях имени пакета о пакете и в нижней части этого экрана существует список доступных версий. – Luca Davanzo 14.05.2020, 23:39
  • 6
    В каждом случае I' ve когда-либо пробовал это, я всегда получаю ошибку The following packages have unmet dependencies:, сопровождаемый списком пакетов. Какой-либо способ заставить его разрешить это автоматически? – Castro Zwelithini 14.05.2020, 23:40

Нет никакого общего способа проверить версию установленных пакетов, но большинство из них может быть проверено с помощью команды:

command -v 

, например, для знания версии apache2:

apache2 -v

, Но это не может работать с другими пакетами, таким образом, лучшая практика должна искать руководство.

man XXX

и поиск опции показа версии.

Для установки определенной версии пакета:

sudo apt-get install package=version

, Например:

sudo apt-get install apache2=2.3.35-4ubuntu1
8
ответ дан 14.05.2020, 23:38
  • 1
    @Erutan409 - использование apt-cache madison packagename - это отобразит все версии, которые видны любому repos, который Вы установили/настроили (включая PPAs) – opensas 14.05.2020, 23:38
  • 2
    @Erutan409, который - комментарий выше Вашего то, как можно сделать это. – Kiran 14.05.2020, 23:38
  • 3
    мы можем также проверить версию установленного пакета с помощью dpkg-l имя пакета – Andrei Taranchenko 14.05.2020, 23:39
  • 4
    Когда -v doesn' t работа, можно также попробовать --version. – Richard North 14.05.2020, 23:39
  • 5
    Где Вы находите/отслеживаете вниз meta 2.3.35-4ubuntu1 при определении версии? – Uilian 14.05.2020, 23:40

Теги

Похожие вопросы