$ which virtualenv
/opt/local/bin/virtualenv
$ virtualenv $HOME/PyEnv/python/27
New python executable in /Users/paul/PyEnv/python/27/bin/python
Installing setuptools, pip, wheel...done.
$ virtualenv $HOME/PyEnv/python/36
New python executable in /Users/paul/PyEnv/python/36/bin/python
Installing setuptools, pip, wheel...done.

I notice you ran 'virtualenv' here both times, which is linked to virtualenv27.

$ ls /$HOME/me/PyEnv/python/*/bin
/$HOME/me/PyEnv/python/27/bin:
activate                activate_this.py        pip                     python  
                python2.7
activate.csh            easy_install            pip2                    
python-config           wheel
activate.fish           easy_install-2.7        pip2.7                  python2
/$HOME/me/PyEnv/python/36/bin:
activate                activate_this.py        pip                     python  
                python2.7
activate.csh            easy_install            pip2                    
python-config           wheel
activate.fish           easy_install-2.7        pip2.7                  python2

So this is not surprising given the above. If you want a python 3.6 virtualenv, use virtualenv36 (or whatever the 3.6 version is called).

the big question: please explain to me the relation between macports 
python/ipython/pip/virtualenv and how i should use it? when & how macports, when 
& how not, why???

Well, IPython is a python module that provides an enhanced interactive shell for python. Pip is the official python module installer. Virtualenv is a system for making isolated python environments.

MacPorts manages most of the things that pip does itself, so you normally shouldn't use pip to install modules into the macports prefix. It's fine to use it to install into a separate location (e.g. in your home directory) or into a virtualenv.

Use a virtualenv when you want a python environment containing a specific set of modules for a certain task. The documentation has more info: <https://virtualenv.pypa.io/en/stable/>

- Josh

Reply via email to