从virt

时间:2016-03-18 15:00:22

标签: pip opensuse python-3.5

我正在运行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困住了。

1 个答案:

答案 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一起使用的综合教程。