Как установить Python 3.7 в облачную оболочку Google

У меня есть python 3.5 в моей облачной оболочке Google, и я хочу версию 3.7, чтобы я мог выполнять отладку кода в командной строке, который я собираюсь развернуть с помощью облачных функций Google (и использовать функции 3.7, такие как f-строки).

Я пробую следующие формы:

sudo apt-get install python37

и всегда возвращайся

Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package python37

Любая помощь могла бы быть полезна!


person Richard    schedule 25.11.2018    source источник
comment
Вы пробовали python3.7?   -  person cha0site    schedule 25.11.2018
comment
Да - python3.7 и python3.7.3 - все с одинаковыми результатами   -  person Richard    schedule 25.11.2018


Ответы (4)



# install pyenv to install python on persistent home directory
curl https://pyenv.run | bash

# add to path
echo 'export PATH="$HOME/.pyenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc
echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bashrc

# updating bashrc
source ~/.bashrc

# install python 3.7.4 and make default
pyenv install 3.7.4
pyenv global 3.7.4

# execute
python

Это основано на ответе @yungchin.

person Ali Khosro    schedule 07.08.2019
comment
Мне пришлось запустить новый экземпляр оболочки перед запуском pyenv - person Elazar; 04.02.2020
comment
@Ali Khosro, будет ли эта техника работать на Colab, который на самом деле 3.6.9? - person Sayantan Das; 24.03.2020
comment
Это должно работать в любой среде Linux, если вы не можете (или не хотите) использовать диспетчер пакетов для установки более новой версии python. - person Ali Khosro; 26.03.2020

Это сработало для меня в оболочке GCP.

# Install requirements
sudo apt-get install -y build-essential checkinstall libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev zlib1g-dev openssl libffi-dev python3-dev python3-setuptools wget 

# Prepare to build
mkdir /tmp/Python37
cd /tmp/Python37

# Pull down Python 3.7, build, and install
wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tar.xz
tar xvf Python-3.7.0.tar.xz
cd /tmp/Python37/Python-3.7.0
./configure
sudo make altinstall

Тогда вы просто вызовете Python так:

python3.7 ./yourScript.py

Src: https://serverfault.com/questions/918335/best-way-to-run-python-3-7-on-ubuntu-16-04-which-comes-with-python-3-5 < / а>

person harmanw    schedule 24.01.2019
comment
Это сработало, спасибо. Вы знаете, как я могу сделать с ним виртуальный мир? - person Revolucion for Monica; 23.11.2020

Даже если бы пакеты были доступны через apt, недостатком использования apt было бы то, что вам пришлось бы устанавливать заново каждый раз, когда вы отключались от Cloud Shell: он всегда отбрасывает ваш контейнер времени выполнения.

Я бы рекомендовал использовать https://github.com/pyenv/pyenv для удобства. Если вы следуете руководству по установке (и обратите внимание, что дополнения профиля bash должны идти в .bashrc в нашем случае), вы получите сборку python в своем домашнем каталоге, которая сохраняется во всех сеансах Cloud Shell. Это включает всего несколько шагов:

  1. клонировать репо в ~/.pyenv
  2. добавьте три строки (см. README) в .bashrc, чтобы настроить $PATH
  3. pyenv install 3.7.3 # сборка занимает некоторое время
  4. pyenv global 3.7.3 # устанавливает эту версию по умолчанию
person yungchin    schedule 02.05.2019

Другой простой подход:

sudo ``which conda`` install python=3.7 -y

Очевидно, я имею в виду одиночные обратные кавычки вокруг which conda, но я не могу вспомнить, как избежать обратных кавычек в github markdown.

Slash escape is \предполагается` работать, но не работает`

В теге <pre>:

`Slash escape is \`supposed\` to work, but doesn't`
person abalter    schedule 05.10.2020