博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
pyenv的使用
阅读量:6090 次
发布时间:2019-06-20

本文共 7901 字,大约阅读时间需要 26 分钟。

开始想使用virtual实现不同的版本的py隔离,然后发现不太方便,然后发现了这货。

 

pyenv安装(ubuntu环境

➜  ~ git clone git://github.com/yyuu/pyenv.git ~/.pyenvCloning into '/home/wang/.pyenv'...remote: Counting objects: 12600, done.remote: Compressing objects: 100% (15/15), done.remote: Total 12600 (delta 7), reused 0 (delta 0), pack-reused 12583Receiving objects: 100% (12600/12600), 2.24 MiB | 47.00 KiB/s, done.Resolving deltas: 100% (8749/8749), done.Checking connectivity... done.➜  ~ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc➜  ~ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc ➜  ~ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc➜  ~ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc ➜  ~ echo 'eval "$(pyenv init -)"' >> ~/.bashrc➜  ~ echo 'eval "$(pyenv init -)"' >> ~/.zshrc ➜  ~ exec $SHELL -l

注:如果你没有使用zsh,那么zshrc相关的都可以不用执行  

 

验证安装是否成功:

➜  ~ pyenv  commands            help                local               shell               --version           version-name        which                                 completions         hooks               prefix              shims               version-file        version-origin                                          exec                init                rehash              uninstall           version-file-read   versions                                                global              install             root                version             version-file-write  whence

输入pyenv然后tab会出现各种补全的选项

 

pyenv的基本使用:

➜  ~ pyenv --version                # pyenv版本pyenv 20160422-3-gd0fae57➜  ~ pyenv versions      # 当前py版本信息,如果装了其他版本那么会显示多个* system (set by /home/wang/.pyenv/version)➜  ~ ➜  ~ pyenv helpUsage: pyenv  [
]Some useful pyenv commands are: commands List all available pyenv commands local Set or show the local application-specific Python version global Set or show the global Python version shell Set or show the shell-specific Python version install Install a Python version using python-build uninstall Uninstall a specific Python version rehash Rehash pyenv shims (run this after installing executables) version Show the current Python version and its origin versions List all Python versions available to pyenv which Display the full path to an executable whence List all Python versions that contain the given executableSee `pyenv help
' for information on a specific command.For full documentation, see: https://github.com/yyuu/pyenv#readme➜ ~ pyenv init # 如果输入pyenv之后使用tab不补全,可以使用这个命令初始化一下,然后就可以使用补全命令了# Load pyenv automatically by appending# the following to ~/.zshrc:eval "$(pyenv init -)"

 

显示可以安装的列表

➜  ~ pyenv install -l     # 可以安装的版本,此处只列举几个(因为实在是太多了啊Available versions:  2.1.3  2.2.3  2.3.7  2.4  2.4.1

 

pyenv安装py  

➜  ~ pyenv install 3.3.1     # install py3.3.1Downloading Python-3.3.1.tgz...-> http://www.python.org/ftp/python/3.3.1/Python-3.3.1.tgzInstalling Python-3.3.1...patching file ./Modules/readline.cHunk #1 succeeded at 225 (offset -6 lines).Hunk #2 succeeded at 759 (offset -14 lines).Hunk #3 succeeded at 812 (offset -14 lines).Hunk #4 succeeded at 870 (offset -14 lines).Hunk #5 succeeded at 918 with fuzz 2 (offset -25 lines).patching file ./Lib/ssl.pyHunk #2 succeeded at 609 (offset -40 lines).patching file ./Modules/_ssl.cHunk #1 succeeded at 1683 (offset -63 lines).Hunk #2 succeeded at 2751 (offset -93 lines).WARNING: The Python bz2 extension was not compiled. Missing the bzip2 lib?WARNING: The Python readline extension was not compiled. Missing the GNU readline lib?WARNING: The Python sqlite3 extension was not compiled. Missing the SQLite3 lib?Installing pip from https://bootstrap.pypa.io/get-pip.py...2016-05-08 21:29:03 URL:https://bootstrap.pypa.io/get-pip.py [1522812/1522812] -> "-" [1]Installed Python-3.3.1 to /home/wang/.pyenv/versions/3.3.1➜  ~ pyenv rehash   # 更新本地数据库➜  ~ ➜  ~ pyenv versions    # 查看本机版本信息* system (set by /home/wang/.pyenv/version)  3.3.1

 

global, shell, local的使用 

➜  ~ pyenv versions* system (set by /home/wang/.pyenv/version)  3.3.1➜  ~ ➜  ~ python --versionPython 2.7.6➜  ~   ➜  ~ pyenv global 3.3.1     # 更改本机版本,重启不会造成再次更改➜  ~ ➜  ~ python --versionPython 3.3.1➜  ~ ➜  ~ pyenv local system    #  更改本地的版本,只是临时生效,重启什么的会恢复系统版本➜  ~ ➜  ~ python --versionPython 2.7.6➜  ~ ➜  ~ python shell 3.3.1   #  更改本shell的版本,临时生效,优先级高于global,local的也高于global,都是临时生效python: can't open file 'shell': [Errno 2] No such file or directory➜  ~ pyenv shell 3.3.1➜  ~ pyenv versions  system* 3.3.1 (set by PYENV_VERSION environment variable)➜  ~ ➜  ~ pythonPython 3.3.1 (default, May  8 2016, 21:27:17) [GCC 4.8.4] on linuxType "help", "copyright", "credits" or "license" for more information.>>>

 

global, loacl优先级比较  

➜  ~ pyenv global 3.3.1    # 这个例子可以看出优先级➜  ~ pyenv --version pyenv 20160422-3-gd0fae57➜  ~ pyenv versions* system (set by /home/wang/.python-version)  3.3.1➜  ~ pyenv local 3.3.1➜  ~ pyenv versions     system* 3.3.1 (set by /home/wang/.python-version)➜  ~ pyenv shell system ➜  ~ pyenv versions    * system (set by PYENV_VERSION environment variable)  3.3.1➜  ~ python global python: can't open file 'global': [Errno 2] No such file or directory➜  ~ pyenv global system➜  ~ pyenv versions     * system (set by PYENV_VERSION environment variable)  3.3.1

  

pyenv和virtualenv的搭配使用

➜  ~ cd .pyenv/plugins     # 安装virtualenv插件➜  plugins git:(master) git clone https://github.com/yyuu/pyenv-virtualenv.gitCloning into 'pyenv-virtualenv'...remote: Counting objects: 1781, done.remote: Compressing objects: 100% (19/19), done.remote: Total 1781 (delta 8), reused 0 (delta 0), pack-reused 1762Receiving objects: 100% (1781/1781), 518.17 KiB | 46.00 KiB/s, done.Resolving deltas: 100% (1208/1208), done.Checking connectivity... done.➜  plugins git:(master) pyenv virtualenv 3.3.1 my_pro_3.3.1   #  创建3.3.1版本虚拟环境Installing pip from https://bootstrap.pypa.io/get-pip.py...2016-05-08 21:42:21 URL:https://bootstrap.pypa.io/get-pip.py [1522812/1522812] -> "-" [1]Collecting pip  Using cached pip-8.1.1-py2.py3-none-any.whlCollecting setuptools  Using cached setuptools-21.0.0-py2.py3-none-any.whlCollecting wheel  Using cached wheel-0.29.0-py2.py3-none-any.whlInstalling collected packages: pip, setuptools, wheelSuccessfully installed pip-8.1.1 setuptools-21.0.0 wheel-0.29.0➜  plugins git:(master) pyenv virtualenvs    # 显示环境,为什么有2个我有点不太懂  3.3.1/envs/my_pro_3.3.1 (created from /home/wang/.pyenv/versions/3.3.1)  my_pro_3.3.1 (created from /home/wang/.pyenv/versions/3.3.1)➜  plugins git:(master) pyenv versions              * system (set by PYENV_VERSION environment variable)  3.3.1  3.3.1/envs/my_pro_3.3.1  my_pro_3.3.1➜  plugins git:(master) pyenv activate 3.3.1/envs/my_pro_3.3.1   # 激活使用,有错误,可以重启shellFailed to activate virtualenv.Perhaps pyenv-virtualenv has not been loaded into your shell properly.Please restart current shell and try again.

vitualenv的使用  

➜  ~ pyenv activate 3.3.1/envs/my_pro_3.3.1    #  两个都可以进去pyenv-virtualenv: prompt changing will be removed from future release. configure `export PYENV_VIRTUALENV_DISABLE_PROMPT=1' to simulate the behavior.(3.3.1/envs/my_pro_3.3.1) ➜  ~ pyenv deactivate        ➜  ~ pyenv activate my_pro_3.3.1 pyenv-virtualenv: prompt changing will be removed from future release. configure `export PYENV_VIRTUALENV_DISABLE_PROMPT=1' to simulate the behavior.(my_pro_3.3.1) ➜  ~ pyenv deactivate    # 离开➜  ~ rm -rf .pyenv/versions/3.3.1  #  删除➜  ~ pyenv versions    #  看来其中一个应该是我们安装的版本信息pyenv: version `3.3.1' is not installed (set by /home/wang/.python-version)   system➜  ~ rm -rf .pyenv/versions/my_pro_3.3.1   #  当安装了virtualenv插件之后就会都显示,相当于也使用了virtualenv➜  ~ pyenv versions                      # 实现的,但是没有安装就没有显示pyenv: version `3.3.1' is not installed (set by /home/wang/.python-version)  system

  

参考:

http://www.it165.net/pro/html/201405/13603.html

http://seisman.info/python-pyenv.html

https://github.com/comynli/pybooklet/blob/master/install.md

转载地址:http://nrlwa.baihongyu.com/

你可能感兴趣的文章
ubutntu apt 源
查看>>
PHP 文件处理
查看>>
cesium之核心类Viewer简介篇
查看>>
ALSA声卡驱动中的DAPM详解之六:精髓所在,牵一发而动全身
查看>>
libev与libuv的区别
查看>>
iOS 为什么使用xcode8上传app包到appStore无法构建版本
查看>>
Tomcat优化步骤【转】
查看>>
CRC 自动判断大端 小端
查看>>
原来这样可以轻松恢复回收站删除文件
查看>>
DisparityCostVolumeEstimator.cpp
查看>>
(转)git中关于fetch的使用
查看>>
mongo DB for C#
查看>>
caffe整体框架的学习的博客,这个博客山寨了一个caffe框架
查看>>
git只拉取github部分代码的方法
查看>>
[LeetCode] Construct Quad Tree 建立四叉树
查看>>
如何避免SHRINKDATABASE & SHRINKFILE 产生索引碎片(转载)
查看>>
【SSH网上商城项目实战02】基本增删查改、Service和Action的抽取以及使用注解替换xml...
查看>>
高阶函数简述 js
查看>>
Java CompletableFuture:allOf等待所有异步线程任务结束
查看>>
Highmaps网页图表教程之图表配置项结构与商业授权
查看>>