Python
macOS里面是自带python的,但是版本都相对老一点,而且直接对系统本身的python进行操作还是带有一定危险性的。pyenv 是一个强大 Python 包管理工具,可以灵活地切换各种 Python 版本,macOS 下强烈建议大家安装体验一下。
因为几乎没有用到系统自带的python因此就不再这里误导大家了,下面主要介绍一下pyenv
Pyenv
安装pyenv
- zsh/bash
bash
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.profile
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.profile
echo 'eval "$(pyenv init --path)"' >> ~/.profile
版本安装
bash
pyenv versions
pyenv version
pyenv install -l
pyenv install 3.x.x
pyenv uninstall 3.x.x
这里如果(大概率)安装的时候比较卡,可以考虑在终端开代理或者使用proxychains
bash
PYTHON_CONFIGURE_OPTS="--disable-ipv6" proxychains4 pyenv install <python版本>
国内加速安装python环境
bash
v=3.8.6;wget https://npm.taobao.org/mirrors/python/$v/Python-$v.tar.xz -P ~/.pyenv/cache/;pyenv install $v
macos bigsur安装
- 设置 command-line tools
打开Xcode.app在Preference > Locations处选择正确版本的command-line tools - 安装python(设置环境变量)
直接执行如下命令即可:
bash
pyenv install --patch 3.7.1 < <(curl -sSL https://github.com/python/cpython/commit/8ea6353.patch)
- 安装python(未设置环境变量)
创立一个脚本,注意这里如果不设置脚本直接复制命令执行(zsh)会莫名的报错
bash
touch install_python.sh
chmod +x install_python.sh
在脚本里输入以下内容
bash
#!/bin/bash
set -ex
CFLAGS="-I$(brew --prefix openssl)/include -I$(brew --prefix readline)/include -I$(xcrun --show-sdk-path)/usr/include" \
LDFLAGS="-L$(brew --prefix openssl)/lib -L$(brew --prefix readline)/lib -L$(xcrun --show-sdk-path)/usr/lib -L/usr/local/opt/zlib/lib" \
CPPFLAGS="-I/usr/local/opt/zlib/include" \
PKG_CONFIG_PATH="/usr/local/opt/zlib/lib/pkgconfig" \
pyenv install --patch 3.7.1 < <(curl -sSL https://github.com/python/cpython/commit/8ea6353.patch)
手工加速安装
bash
[blog_secgxx] PYTHON_CONFIGURE_OPTS="--disable-ipv6" pyenv install 3.7.0
python-build: use [email protected] from homebrew
python-build: use readline from homebrew
Downloading Python-3.7.0.tar.xz...
-> https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tar.xz
error: failed to download Python-3.7.0.tar.xz
BUILD FAILED (OS X 11.1 using python-build 20180424)
可以看到下载包的时候失败了,实际上这个包如果我们通过浏览器下载的话其实会很快,这个时候就需要手工加速一下
bash
➜ mkdir ~/.pyenv/cache
➜ mv ~/Downloads/Python-3.7.0.tar.xz ~/.pyenv/cache
➜ pyenv install 3.7.0
Installing Python-3.7.0...
Installed Python-3.7.0 to /Users/xxx/.pyenv/versions/Python-3.7.0
➜ rm -rf ~/.pyenv/cache/*
zsh: sure you want to delete the only file in /Users/xxx/.pyenv/cache [yn]? y
➜ pyenv versions
* system (set by /Users/xxx/.python-version)
2.7.18
3.7.0
3.8.6
版本切换
pyenv 的 global、local、shell 的优先级关系是:shell > local > global
bash
pyenv global <python版本>
pyenv shell <python版本>
pyenv shell --unset
pyenv local <python版本>
pip
pip安装
python2在官网下载脚本安装即可https://bootstrap.pypa.io/pip/ ,python3.6以后自带pip
pip加速
国内直接使用pip安装包的话速度会很慢,因此我们需要将pip的源指向国内的加速源
在根目录下新建目录.pip
并创建文件pip.conf
bash
mkdir .pip
touch pip.conf
vim pip.conf
在pip.conf
中输入以下内容
bash
[global]
index-url=https://pypi.tuna.tsinghua.edu.cn/simple
[install]
trusted-host=pypi.tuna.tsinghua.edu.cn
pipenv
在使用pipenv之前,必须彻底的忘记pip这个东西
bash
pip3 install pipenv
mkdir project && cd project
pipenv --three
vim project/Pipfile
pipenv shell
pipenv install django==1.11
当项目放到阿里云上时,直接运行:pipenv install 就能自动生成一份和本地环境,一模一样的环境
常用命令:
bash
pipenv graph
pipenv uninstall --all
pipenv uninstall django==1.11
pipenv update requests
pipenv update
pipenv shell
exit
pipenv --rm
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
喜欢就支持一下吧
恐龙抗狼扛1年前0
kankan啊啊啊啊3年前0
66666666666666