Sajuuk
Sajuuk

Reputation: 3049

Can I use other python implementation via virtualenv/virtualenvwrapper?

After a while of searching (maybe it's not enough, but I don't think I'm making progress doing that), I haven't been able to find information about compatibility of other Python implementations in virtualenv/virtualenvwrapper. By "other implementation" I mean things like PyPy, IronPython, Cython, Jython...

for example, I can create a virtualenv for a different python version using the following code .

mkvirtualenv -p /usr/bin/python2.6 new_venv

but when I tried to create a virtualenv for PyPy by:

mkvirtualenv -p /usr/bin/pypy new_venv

system throws some error.

EDIT: I'm using virtualenvwrapper-win. it throws

Running virtualenv with interpreter C:\pypy2-v5.8.0-win32\pypy.exe
New pypy executable in C:\Users\fangming.zfm\Envs\test-123\bin\pypy.exe
Installing setuptools, pip, wheel...done.
system cannot find the path specified.
system cannot find the path specified.
system cannot find the path specified.

why we can't do this? is it because of lack of interest, or is it technically infeasible?

Upvotes: 5

Views: 408

Answers (2)

thebjorn
thebjorn

Reputation: 27361

The problem is due to pypy.exe being located under the /bin/ directory -- and not the Scripts directory (like virtualenvwrapper-win expects).

There's an issue for it (https://github.com/davidmarble/virtualenvwrapper-win/issues/30) and it should be relatively simple to fix.

Upvotes: 0

phd
phd

Reputation: 95038

Works for me:

$ mktmpenv -p pypy
Running virtualenv with interpreter /usr/bin/pypy
New pypy executable in /home/phd/.virtualenvs/tmp-b29122e40f353f03/bin/pypy
Installing setuptools, pip, wheel...done.
virtualenvwrapper.user_scripts creating /home/phd/.virtualenvs/tmp-b29122e40f353f03/bin/predeactivate
virtualenvwrapper.user_scripts creating /home/phd/.virtualenvs/tmp-b29122e40f353f03/bin/postdeactivate
virtualenvwrapper.user_scripts creating /home/phd/.virtualenvs/tmp-b29122e40f353f03/bin/preactivate
virtualenvwrapper.user_scripts creating /home/phd/.virtualenvs/tmp-b29122e40f353f03/bin/postactivate
virtualenvwrapper.user_scripts creating /home/phd/.virtualenvs/tmp-b29122e40f353f03/bin/get_env_details
This is a temporary environment. It will be deleted when you run 'deactivate'

$ python --version
Python 2.7.8 (2.4.0+dfsg-3, Dec 20 2014, 13:30:11)
[PyPy 2.4.0 with GCC 4.9.2]

What exactly is your error?

Upvotes: 2

Related Questions