1. 源码安装Python

  1. yum install -y zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make libffi-devel
  2. ./configure --prefix=/usr/local/python3
  3. make && make install
  4. ln -s /usr/local/python3/bin/python3.8 /usr/bin/python3
  5. ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3

2. PIP使用

2.1 让PIP源使用国内镜像

对于Python开发用户来讲,PIP安装软件包是家常便饭。但国外的源下载速度实在太慢,浪费时间。而且经常出现下载后安装出错问题。所以把PIP安装源替换成国内镜像,可以大幅提升下载速度,还可以提高安装成功率。

  • 国内源:

新版ubuntu要求使用https源,要注意。

清华:https://pypi.tuna.tsinghua.edu.cn/simple

阿里云:http://mirrors.aliyun.com/pypi/simple/

中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/

华中理工大学:http://pypi.hustunique.com/

山东理工大学:http://pypi.sdutlinux.org/

豆瓣:http://pypi.douban.com/simple/

  • 临时使用:

可以在使用pip的时候加参数-i https://pypi.tuna.tsinghua.edu.cn/simple

例如:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyspider,这样就会从清华这边的镜像去安装pyspider库。

  • 永久修改,一劳永逸:

Linux下,修改 ~/.pip/pip.conf (没有就创建一个文件夹及文件。文件夹要加“.”,表示是隐藏文件夹)

内容如下:

  1. [global]
  2. index-url = http://pypi.douban.com/simple
  3. #extra-index-url = https://pypi.tuna.tsinghua.edu.cn/simple
  4. trusted-host =
  5. pypi.douban.com
  6. pypi.tuna.tsinghua
  7. timeout = 120

3. pyenv使用

3.1 pyenv tkinter问题

  1. pyenv uninstall 3.6.8
  2. env \
  3. PATH="$(brew --prefix tcl-tk)/bin:$PATH" \
  4. LDFLAGS="-L$(brew --prefix tcl-tk)/lib" \
  5. CPPFLAGS="-I$(brew --prefix tcl-tk)/include" \
  6. PKG_CONFIG_PATH="$(brew --prefix tcl-tk)/lib/pkgconfig" \
  7. CFLAGS="-I$(brew --prefix tcl-tk)/include" \
  8. PYTHON_CONFIGURE_OPTS="--with-tcltk-includes='-I$(brew --prefix tcl-tk)/include' --with-tcltk-libs='-L$(brew --prefix tcl-tk)/lib -ltcl8.6 -ltk8.6'" \
  9. pyenv install 3.6.8

验证结果:

  1. python -m tkinter -c "tkinter._test()"

3.2 pyenv使用cache安装

将对应的包下载至~/.pyenv/cache,文件名不能错。

  1. cache mv ~/Downloads/Python-3.6.8.tar.xz ./
  2. cache env \
  3. PATH="$(brew --prefix tcl-tk)/bin:$PATH" \
  4. LDFLAGS="-L$(brew --prefix tcl-tk)/lib" \
  5. CPPFLAGS="-I$(brew --prefix tcl-tk)/include" \
  6. PKG_CONFIG_PATH="$(brew --prefix tcl-tk)/lib/pkgconfig" \
  7. CFLAGS="-I$(brew --prefix tcl-tk)/include" \
  8. PYTHON_CONFIGURE_OPTS="--with-tcltk-includes='-I$(brew --prefix tcl-tk)/include' --with-tcltk-libs='-L$(brew --prefix tcl-tk)/lib -ltcl8.6 -ltk8.6'" \
  9. pyenv install 3.6.8
  10. python-build: use openssl@1.1 from homebrew
  11. python-build: use readline from homebrew
  12. Installing Python-3.6.8...
  13. python-build: use readline from homebrew
  14. python-build: use zlib from xcode sdk

4. 参考链接

让PIP源使用国内镜像,提升下载速度和安装成功率。