我的谷歌云外壳上有python 3.5,想要3.7,这样我就可以通过谷歌云函数对要部署的代码进行命令行调试(并使用3.7功能,如f-string(。
我尝试过以下各种形式:
sudo apt-get install python37
并且总是得到
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package python37
# 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的回答。
这在GCP shell上对我有效。
# 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
即使这些包可以通过apt获得,使用apt的缺点是,无论何时与Cloud Shell断开连接,都必须重新安装:它总是丢弃运行时容器。
我建议使用https://github.com/pyenv/pyenv为了方便。如果您遵循安装指南(并注意,在我们的案例中,bash概要文件的添加应该进入.bashrc
(,您最终会在主目录中生成一个python构建,该构建在云外壳会话中持久化。这只涉及几个步骤:
- 将repo克隆到
~/.pyenv
中 - 在
.bashrc
上添加三行(请参阅自述文件(以调整$PATH
pyenv install 3.7.3
#这需要一段时间才能构建pyenv global 3.7.3
#将此版本设置为默认版本
Python 3可以作为安装Conda/Anaconda的副作用安装在Cloud Shell中。将链接复制到此处提供的所需安装程序shell脚本:在Linux上安装。
示例
Welcome to Cloud Shell! Type "help" to get started.
$ wget https://repo.anaconda.com/miniconda/Miniconda3-py39_4.10.3-Linux-x86_64.sh
$ bash Miniconda3-py39_4.10.3-Linux-x86_64.sh
按照说明操作后,关闭Cloud Shell并打开一个新会话。Python现在已更新。
安装了Conda后,您现在可以为其他Python版本创建环境,如下所示:
$ conda create -n "py37" python=3.7.0
$ conda activate py37
$ python --version
Python 3.7.0
另一种简单的方法是
sudo `which conda` install python=3.7 -y