Skip to content

墙内部署开发环境

又是被墙反复揉捏的一天!

Debain 11

sh
sudo apt update
sudo apt upgrade
sudo apt install build-essential procps curl file git
sudo apt update
sudo apt upgrade
sudo apt install build-essential procps curl file git

安装 https://github.com/zhengbangbo/dotfiles

CentOS

sh
sudo yum groupinstall "Development Tools"
sudo yum groupinstall "Development Tools"

Python 开发环境

对于阿里云的服务器,默认都已将 .pip/pip.conf 配置成阿里云镜像。

toml
[global]
index-url = https://mirrors.aliyun.com/pypi/simple

[install]
trusted-host = mirrors.aliyun.com
[global]
index-url = https://mirrors.aliyun.com/pypi/simple

[install]
trusted-host = mirrors.aliyun.com

安装合适版本的 Python,我一般使用 pyenv。但在墙内不好安装,可以使用 gitee 镜像。

sh
git clone https://gitee.com/chenshuchuan/pyenv.git ~/.pyenv
git clone https://gitee.com/chenshuchuan/pyenv.git ~/.pyenv

看看这个仓库的更新时间,如果不是最新的可以换 https://search.gitee.com/?skin=rec&type=repository&q=pyenv

配置一下环境变量,让 pyenv 这个命令可以使用

sh
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc

source ~/.bashrc
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc

source ~/.bashrc

安装合适版本的 python,以 3.9.18 为例。

sh
v=3.9.18
mkdir ~/.pyenv/cache  # 我的环境需要先创建文件夹,不然会报错
curl -L https://npmmirror.com/mirrors/python/$v/Python-$v.tar.xz -o ~/.pyenv/cache/Python-$v.tar.xz
pyenv install $v
v=3.9.18
mkdir ~/.pyenv/cache  # 我的环境需要先创建文件夹,不然会报错
curl -L https://npmmirror.com/mirrors/python/$v/Python-$v.tar.xz -o ~/.pyenv/cache/Python-$v.tar.xz
pyenv install $v

很多陈旧的教程中 https://npm.taobao.org 这个域名没有更新为 https://npmmirror.com

我有些项目使用 poetry 管理依赖,所以先安装 pipx 再安装 poetry

sh
pip install --user pipx
pipx ensurepath

pipx install poetry
pip install --user pipx
pipx ensurepath

pipx install poetry

poetry 也需要设置镜像,有一个有效的配置方式是在项目的 pyproject.toml 中加上如下配置

toml
[[tool.poetry.source]]
name = "aliyun"
url = "http://mirrors.aliyun.com/pypi/simple"
default = true
[[tool.poetry.source]]
name = "aliyun"
url = "http://mirrors.aliyun.com/pypi/simple"
default = true