我正在运行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困住了。
答案 0 :(得分:0)
一个很好的解决方案是使用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一起使用的综合教程。