export PYENV_ROOT="$HOME/.pyenv"
export PATH="$HOME/.pyenv/bin:$PATH"
export PATH="$HOME/.pyenv/shims:$PATH"
eval "$(pyenv init -)"
to .bash_profile then you can see the python version you want to install or update:
pyenv install --list
want python 2.7.10? you can try:
pyenv install 2.7.10
pyenv virtualenv 2.7.10 py2.7.10 #修改了下
Hope it can help you.
Cannot uninstall 'six'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.
导致错误的原因:Six issue when installing package
解决方法:
sudo pip install six --upgrade --ignore-installed six
倒腾了一系列恶心的事情:
在虚拟机中编译ROS节点的python代码,首先碰到的是无法import cv2。
于是pip install opencv-python,结果提示Could not find any downloads that satisfy the requirement opencv-python。百度了半天,好像是pip需要升级。
升级pip后继续,发现无法下载cv包的速度超慢,于是换国内清华镜像。
好不容易下载了opencv-python的包,结果提示Cannot uninstall 'numpy'。
于是又去卸载重新强制安装numpy,又提示ERROR: matplotlib 1.3.1 requires tornado, which is not installed.
于是又去安装tornado。结果又提示:ImportError: Tornado requires an up-to-date SSL module. This means Python 2.7.9+ or 3.4+ 。原来虚拟机的python版本是2.7.6的,还要升级到2.7.9+才行。
我擦...网上找了下面这段代码,不知道能不能升级python,先试试吧
安装过程中又百度学习了一下ppa的知识,发现这个方式可能不太好。 最终使用以下方式:
You can use pyenv:
git clone https://github.com/pyenv/pyenv.git ~/.pyenv git clone https://github.com/pyenv/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv Then add
for PyEnv
export PYENV_ROOT="$HOME/.pyenv" export PATH="$HOME/.pyenv/bin:$PATH" export PATH="$HOME/.pyenv/shims:$PATH" eval "$(pyenv init -)" to .bash_profile then you can see the python version you want to install or update:
pyenv install --list want python 2.7.10? you can try: pyenv install 2.7.10
pyenv virtualenv 2.7.10 py2.7.10 #修改了下 Hope it can help you.
理解了下,上面实际用到了pyenv和virtualenv两个工具管理 版本 。
过程中继续出错(都习惯了) 在升级 six 时遇到无法安装的问题,错误日志如下:
Cannot uninstall 'six'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall. 导致错误的原因:Six issue when installing package
解决方法:
sudo pip install six --upgrade --ignore-installed six
创建某个Python版本的虚拟环境:pyenv virtualenv 如:pyenv virtualenv 2.7.10 project_name-venv
Tip:
查询pyenv版本:pyenv -v 查询python可安装版本:pyenv install -l or pyenv install --list 安装python:pyenv install or pyenv install -v 如:python install 2.7.10
查询已安装Python所有版本:pyenv versions
查询当前使用的Python版本:pyenv version
设置全局python版本:pyenv global
设置当前所在目录的python版本:pyenv local
设置当前所在目标的python shell版本:pyenv shell
/etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行。并从/etc/profile.d目录的配置文件中搜集shell的设置。
而/etc/bashrc:为每一个运行bash shell的用户执行此文件,当bash shell被打开时,该文件被读取。
~/.bash_profile:每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件。
~/.bashrc:该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该该文件被读取。
https://github.com/pyenv/pyenv/wiki/common-build-problems 这个网址里提供了一些pyenv使用的问题解决方案。