Как создать псевдоним python2 для python3 в контейнере Docker? - PullRequest
1 голос
/ 25 марта 2019

Я пытаюсь установить python по умолчанию в моем Docker-контейнере равным python3, и я установил псевдонимы в Dockerfile. Когда я открываю файл .bashrc, они появляются. Насколько я могу сказать, это должно работать, но версия Python по умолчанию все еще 2.7. если я запускаю какой Python, он все равно будет указывать на usr / bin / python, а не на python3. То же самое с пипом. Может кто-нибудь сказать мне, в чем проблема? Вот команда, которую я использую для псевдонима:

   RUN \
   echo 'alias python="/usr/bin/python3"' >> /root/.bashrc && \
   echo 'alias pip="/usr/bin/pip3"' >> /root/.bashrc

Это выглядит правильно? Я использую Ubuntu 17.10

Ответы [ 2 ]

2 голосов
/ 26 марта 2019

Вы пытаетесь создать символическую ссылку для python bin

RUN ln -s /usr/bin/python3 /usr/bin/python & \
    ln -s /usr/bin/pip3 /usr/bin/pip

другой вариант - использовать update-alternatives для дополнительного посещения этот сайт

sudo update-alternatives --install /usr/bin/python python /usr/bin/python3

и другойопция пытается получить исходный файл bashrc после обновления

RUN \
   echo 'alias python="/usr/bin/python3"' >> /root/.bashrc && \
   echo 'alias pip="/usr/bin/pip3"' >> /root/.bashrc && \
   source /root/.bashrc

Я рекомендую просмотреть все варианты изображений Python на Docker Hub

Совет: используйте anacondaили conda для управления версиями Python ( conda site )

1 голос
/ 30 мая 2019

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

RUN ln -s /usr/bin/python3 /usr/bin/python && \
    ln -s /usr/bin/pip3 /usr/bin/pip

Возможно, они опечатаны, написав ls, который просто перечисляет содержимое каталога, а не использует lnкоторый фактически создает символические ссылки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...