首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么每个虚拟环境都在pyenv中使用相同的python版本?

为什么每个虚拟环境都在pyenv中使用相同的python版本?
EN

Stack Overflow用户
提问于 2016-08-19 09:13:23
回答 2查看 561关注 0票数 2

我使用pyenvvirtualenv,'autoev`‘设置我的虚拟环境。

我安装了Python3.5.1Python2.7.9并创建了几个项目虚拟环境。

但是,当我激活每个环境并通过which python检查python版本时:它们指向相同的python执行文件:

  1. Python 3.5.1 env

(chacha_dabang) Chois@Chois-MacPro $哪个python

/Users/Chois/..pyenv/shims/python

(chacha_dabang) Chois@Chois-MacPro $哪个pip

/Users/Chois/..pyenv/shims/pip

  1. Python2.7.9 env (pycon2016) Chois@Chois-MacPro $(主)哪个python /Users/Chois/..pyenv/shims/python (pycon2016) Chois@Chois-MacPro $(主) /Users/Chois/..pyenv/shims/pip

我将目录更改为:/Users/Chois/..pyenv/shims

代码语言:javascript
复制
Chois@Chois-MacPro pyconapac-2016 $ (master)cd ~/.pyenv/shims/
Chois@Chois-MacPro shims $ls
2to3                    easy_install-2.7        iptest3                 nosetests-3.4           pip2.7                  python3                 rst2xml.py
2to3-3.5                easy_install-3.5        ipython                 painter.py              pip3                    python3-config          rstpep2html.py
__pycache__             enhancer.py             ipython3                painter.pyc             pip3.5                  python3.5               smtpd.py
activate                enhancer.pyc            jsonschema              pep8                    player.py               python3.5-config        sphinx-apidoc
activate.csh            explode.py              jupyter                 pilconvert.py           player.pyc              python3.5m              sphinx-autogen
activate.fish           explode.pyc             jupyter-kernelspec      pilconvert.pyc          pybabel                 python3.5m-config       sphinx-build
activate_this.py        f2py3.5                 jupyter-migrate         pildriver.py            pydoc                   pyvenv                  sphinx-quickstart
coverage                gifmaker.py             jupyter-nbconvert       pildriver.pyc           pydoc3                  pyvenv-3.5              sqlformat
coverage-3.5            gifmaker.pyc            jupyter-nbextension     pilfile.py              pydoc3.5                rst2html.py             thresholder.py
coverage3               idle                    jupyter-notebook        pilfile.pyc             pygmentize              rst2latex.py            thresholder.pyc
createfontdatachunk.py  idle3                   jupyter-qtconsole       pilfont.py              python                  rst2man.py              viewer.py
createfontdatachunk.pyc idle3.5                 jupyter-serverextension pilfont.pyc             python-config           rst2odt.py              viewer.pyc
django-admin            ipcluster               jupyter-troubleshoot    pilprint.py             python2                 rst2odt_prepstyles.py   virtualenv
django-admin.py         ipcontroller            jupyter-trust           pilprint.pyc            python2-config          rst2pseudoxml.py        waitress-serve
django-admin.pyc        ipengine                jwt                     pip                     python2.7               rst2s5.py               wheel
easy_install            iptest                  nosetests               pip2                    python2.7-config        rst2xetex.py

他们有python2和python3..。

我认为,当我设置某个项目的virtualenv时,它应该在它自己的虚拟python上设置如下:

代码语言:javascript
复制
Chois@Chois-MacPro bin $pwd
/Users/Chois/.pyenv/versions/chacha_dabang/bin
Chois@Chois-MacPro bin $ls
__pycache__             easy_install            iptest3                 jupyter-qtconsole       pildriver.py            python                  rst2xml.py
activate                easy_install-3.5        ipython                 jupyter-serverextension pilfile.py              python3                 rstpep2html.py
activate.csh            enhancer.py             ipython3                jupyter-troubleshoot    pilfont.py              rst2html.py             sphinx-apidoc
activate.fish           explode.py              jsonschema              jupyter-trust           pilprint.py             rst2latex.py            sphinx-autogen
coverage                f2py3.5                 jupyter                 jwt                     pip                     rst2man.py              sphinx-build
coverage-3.5            gifmaker.py             jupyter-kernelspec      nosetests               pip3                    rst2odt.py              sphinx-quickstart
coverage3               ipcluster               jupyter-migrate         nosetests-3.4           pip3.5                  rst2odt_prepstyles.py   sqlformat
createfontdatachunk.py  ipcontroller            jupyter-nbconvert       painter.py              player.py               rst2pseudoxml.py        thresholder.py
django-admin            ipengine                jupyter-nbextension     pep8                    pybabel                 rst2s5.py               viewer.py
django-admin.py         iptest                  jupyter-notebook        pilconvert.py           pygmentize              rst2xetex.py            waitress-serve

因此,当我在我的which python虚拟主机中输入chacha_dabang时,应该指向:/Users/Chois/.pyenv/versions/chacha_dabang/bin/python

我怎么才能修好它?

EN

回答 2

Stack Overflow用户

发布于 2016-08-19 09:17:41

要更改在PYTHONPATH中使用的virtualenv,您必须将这一行添加到虚拟服务器的bin/activate文件中:

“导出PYTHONPATH=”/更正路径/“

所以在你的例子中应该是export PYTHONPATH="/Users/Chois/.pyenv/versions/chacha_dabang/bin/python"

票数 0
EN

Stack Overflow用户

发布于 2016-08-21 06:57:13

没问题

当您尝试运行Python时,它首先在当前目录中寻找一个.python-version来决定运行哪个版本的python。如果它找不到这个文件,那么它将查找用户级别的文件~/.pyenv/version

您可以使用python --version而不是which python

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39035288

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档