Using two different Python Distributions

北城余情 提交于 2020-01-09 12:50:09

问题


I currently have continuum analytics' python distribution (called anaconda) downloaded and in use on my computer. My problem is that I want to use virtualenv for a flask project and anaconda flashes a warning that says "virtual env is not supported". Is there any way i can run two distributions, stock python and anaconda on the same computer?


回答1:


Sure, if you want to use the Anaconda distribution separately, you can set up an alias to run that version and leave the stock python as the default.

In your .bash_profile file, the Anaconda installer probably put the following line:

export PATH="/path/to/your/anaconda/bin:$PATH"

Comment this out, and add an alias; e.g.

alias pyconda='/path/to/your/anaconda/bin/python'

You can then run your Anaconda python distribution by running pyconda in a new terminal.

update

It'd actually probably be better to put everything in the anaconda install into your path when you'd like to use it instead of just python (this is why your ipython broke initially).

To do this, set up an alias such as the following:

alias anacondainit='export PATH="/path/to/your/anaconda/bin:$PATH"'

Then your anaconda install will be the default for everything in that terminal session.

For instance, after opening up a new terminal, try the following:

amorgan$ python # on a freshly opened terminal, this will load your default distro
Python 2.7.2 |EPD 7.2-1 (32-bit)| (default, Sep  7 2011, 09:16:50)
[GCC 4.0.1 (Apple Inc. build 5493)] on darwin
Type "packages", "demo" or "enthought" for more information.
>>> exit()

amorgan$ anacondainit #initialize anaconda
amorgan$ python #now when we run python, it will load the anaconda distro
Python 2.7.6 |Anaconda 1.8.0 (x86_64)| (default, Nov 11 2013, 10:49:09)
[GCC 4.0.1 (Apple Inc. build 5493)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>

To use your other distribution again, just load up a new terminal, thus getting anaconda out of your path.




回答2:


I guess the python is the same. What different is packages.

I use root lib of anaconda. I create ANACONDA=/path/to/anaconda environment variable and use anaconda packages if the variable is defined:

# if You want to run the script in anaconda - export ANACONDA=/path/to/anaconda
import os
try:
    os.environ["ANACONDA"]
    sys.path.insert(1, os.environ["ANACONDA"] + "/lib/python2.7/site-packages")
except KeyError:
    pass



回答3:


What about using a version manager like pyenv?

Once installed, you can use it to install multiple python versions:

pyenv install 2.7.16
pyenv install anaconda-1.8.0

Then switch to a specific version locally or globally:

pyenv global 2.7.16

This blog has more details on this approach.



来源:https://stackoverflow.com/questions/20364700/using-two-different-python-distributions

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!