作者ccwang002 (亮)
看板Python
标题[资讯] Python 3.4 released! + pyenv
时间Tue Mar 18 20:31:26 2014
Python 3.4.0 Released!
https://www.python.org/download/releases/3.4.0/
相信很多朋友会想要尝试一下,但又怕会影响到现在自己的开发环境。
PyClab Keith 有介绍用 pyenv 来管理不同版本的 Python,这边来帮大家帮理一下。
新版有 asyncio, pathlib, enum 相当多功能,赶快来玩玩吧!
#########
# Linux #
#########
大同小异,细节我比较没有碰,欢迎大家补充。
= Ubuntu Dependency =
sudo apt-get install -y make build-essential libssl-dev \
zlib1g-dev libbz2-dev wget curl llvm \
libreadline-dev libsqlite3-dev
= CentOS Dependency =
sudo yum install -y gcc gcc-c++ make git patch openssl-devel \
zlib-devel readline-devel sqlite-devel bzip2-devel
= 共通步骤 =
git clone git://github.com/yyuu/pyenv.git ~/.pyenv
在 ~/.bash_profile 或对应的 shell 设定档加入
# For pyenv
export PYENV_ROOT=/usr/local/opt/pyenv
export PATH="$PYENV_ROOT/bin:$PATH"
if command -v pyenv > /dev/null; then eval "$(pyenv init -)"; fi
source ~/.bash_profile
安装 Python 3.4.0
pyenv install -l # 查看能安装的 Python 版本,连 pypy 也有
pyenv install 3.4.0
使用 3.4.0,可以直接用绝对路径执行,
或者用 pyenv 的功能,把现在的环境通通改成某一个版本
`pyenv prefix 3.4.0`/bin/python # 直接呼叫
pyenv local 3.4.0 # 在本目录使用 3.4.0
搭配 virtualenv / pyvenv 使用可能是最方便的
(virtualenv 至少要 1.11+ 可以安装在任何一个 python 版本, )
virtualenv -p `pyenv prefix 3.4.0`/bin/python venv_34
# Running virtualenv with interpreter ...
# Using base prefix '/home/mine/.pyenv/versions/3.4.0'
# New python executable in test_venv/bin/python
# Installing setuptools, pip...done.
source venv_34/bin/activate
#######
# Mac #
#######
使用 Homebrew 安装 pyenv
brwe install pyenv --HEAD
一样在 ~/.bash_profile 中加入
# For pyenv
export PYENV_ROOT=/usr/local/opt/pyenv
export PATH="$PYENV_ROOT/bin:$PATH"
if command -v pyenv > /dev/null; then eval "$(pyenv init -)"; fi
使用
source ~/.bash_profile # 使用上面定义好的设定档
pyenv install 3.4.0
= 使用 clang, brewed sqlite, openssl =
brew install sqlite openssl
针对 Python 3.x
export CONFIGURE_OPTS="CC=clang"
export CFLAGS="-I/usr/local/opt/openssl/include"
export CFLAGES="$CFLAGS -I/usr/local/opt/sqlite/include"
export LDFLAGS="-L/usr/local/opt/openssl/lib -L/usr/local/opt/sqlite/lib"
针对 Python 2.x 似乎还是有点问题,大家可以来 debug
brew link --force sqlite openssl
export CONFIGURE_OPTS="CC=clang"
export CFLAGS="-I/usr/local/include"
export LDFLAGS="-L/usr/local/lib"
再接下去 pyenv install 安装。测试有没有正确连结
`pyenv prefix 3.4.0`/bin/python -c \
"import ssl; print(ssl.OPENSSL_VERSION)" # OpenSSL
`pyenv prefix 3.4.0`/bin/python -c \
"import sqlite3 as s; print(s.sqlite_version_info)" # SQLite3
###########
# Windows #
###########
"I'm no longer using Windows.
I don't like to waste my time with such thing. " - yyuu, pyenv 作者
https://github.com/yyuu/pyenv/issues/62
... 至少 pyenv 是不能用的,我自己只有用过官方的 installer
搭配 Unoffical Python Package
http://www.lfd.uci.edu/~gohlke/pythonlibs/
--
============================================
= PyCon APAC 2014, May 15-18 @中研院人社馆 =
============================================
欢迎各位参加 PyCon APAC 2014!
http://tw.pycon.org/2014apac/zh/
也欢迎来 PyConTW FB 粉丝页按个赞!
https://www.facebook.com/pycontw
如果你也想为 Python 社群尽一份力量,我们也在徵求志工朋友!欢迎站内信!
--
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.45.252.208
※ 编辑: ccwang002 来自: 114.45.252.208 (03/18 20:33)
1F:推 changyuheng:可以避开 GIL? 03/25 10:24
2F:推 keitheis:用魔法才可能在 CPython 里避开 GIL 吧 04/16 08:51