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?

有帮助吗?

解决方案

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.

其他提示

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.

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
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top