通过从源代码安装版本 3.5.1 在 virtualenv 中安装不同的 Python 版本
Installing different Python version in virtualenv with installing version 3.5.1 from source
我正在 运行ning openSUSE 13.1 并且我正在尝试在 virtualenv 中安装 Python 3.5.1,因为系统默认是 3.3.5 并且无法使用 yast 进一步更新.
我已经下载了源代码,将其存储在文件夹 ~/pysrc35
中并创建了一个新目录 ~/localpython
并安装了它
./configure --prefix=/home/<user>/.localpython
make
make install
那里的python3可执行文件可以工作,localpython/bin
看起来像
2to3 easy_install-3.5 idle3.5 pip3.5 pydoc3.5 python3.5 python3.5m python3-config pyvenv-3.5
2to3-3.5 idle3 pip3 pydoc3 python3 python3.5-config python3.5m-config pyvenv
现在我想使用 pip,它似乎已包含在安装中,但是当我 运行 它时,我得到错误:
ImportError: No module named 'pip'
我已经将 $PYTHONHOME 设置为 /home/<usr>/localpython/bin/python3
并将 $PYTHONPATH 设置为 /home/<usr>/localpython/lib/python3.5/:/home/<usr>/localpython/lib64/python3.5/:/home/<usr>/localpython/include/python3.5m/
,因为我之前遇到过错误,但现在我被 pip 困住了。
一个很好的解决方案是使用 pyenv。此工具使安装不同的 python 版本和虚拟环境变得超级容易。唯一的先决条件可能只是安装了 git
。然后克隆它
git clone git://github.com/yyuu/pyenv.git ~/.pyenv
git clone https://github.com/yyuu/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv
和运行
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc
eval "$(pyenv virtualenv-init -)"
在终端中。对于 openSUSE 或 Ubuntu ~/.bashrc
以外的 Linux 发行版,可能必须替换为
~/.bash_profile
。重启终端后,运行
pyenv install 3.5.x
安装你想要的任何版本(除了 3.5.1 尚不可用)。然后你应该切换到你想要的 Python 版本,例如
pyenv shell 3.5.x
为当前终端会话设置版本。
之后可以通过
创建并激活虚拟环境
pyenv virtualenv /path/to/venv
pyenv activate /path/to/venv
另请参阅 this video,了解有关使用 pyenv 以及与 django 结合使用的综合教程。
我正在 运行ning openSUSE 13.1 并且我正在尝试在 virtualenv 中安装 Python 3.5.1,因为系统默认是 3.3.5 并且无法使用 yast 进一步更新.
我已经下载了源代码,将其存储在文件夹 ~/pysrc35
中并创建了一个新目录 ~/localpython
并安装了它
./configure --prefix=/home/<user>/.localpython
make
make install
那里的python3可执行文件可以工作,localpython/bin
看起来像
2to3 easy_install-3.5 idle3.5 pip3.5 pydoc3.5 python3.5 python3.5m python3-config pyvenv-3.5
2to3-3.5 idle3 pip3 pydoc3 python3 python3.5-config python3.5m-config pyvenv
现在我想使用 pip,它似乎已包含在安装中,但是当我 运行 它时,我得到错误:
ImportError: No module named 'pip'
我已经将 $PYTHONHOME 设置为 /home/<usr>/localpython/bin/python3
并将 $PYTHONPATH 设置为 /home/<usr>/localpython/lib/python3.5/:/home/<usr>/localpython/lib64/python3.5/:/home/<usr>/localpython/include/python3.5m/
,因为我之前遇到过错误,但现在我被 pip 困住了。
一个很好的解决方案是使用 pyenv。此工具使安装不同的 python 版本和虚拟环境变得超级容易。唯一的先决条件可能只是安装了 git
。然后克隆它
git clone git://github.com/yyuu/pyenv.git ~/.pyenv git clone https://github.com/yyuu/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv
和运行
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc echo 'eval "$(pyenv init -)"' >> ~/.bashrc eval "$(pyenv virtualenv-init -)"
在终端中。对于 openSUSE 或 Ubuntu ~/.bashrc
以外的 Linux 发行版,可能必须替换为
~/.bash_profile
。重启终端后,运行
pyenv install 3.5.x
安装你想要的任何版本(除了 3.5.1 尚不可用)。然后你应该切换到你想要的 Python 版本,例如
pyenv shell 3.5.x
为当前终端会话设置版本。
之后可以通过
创建并激活虚拟环境pyenv virtualenv /path/to/venv pyenv activate /path/to/venv
另请参阅 this video,了解有关使用 pyenv 以及与 django 结合使用的综合教程。