GNU bug report logs -
#24464
25.1; python.el virtualenv
Previous Next
Reported by: Pim <pim.remkes <at> upcmail.nl>
Date: Sun, 18 Sep 2016 23:51:02 UTC
Severity: normal
Tags: fixed, patch
Found in version 25.1
Fixed in version 26.1
Done: Noam Postavsky <npostavs <at> users.sourceforge.net>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
It looks like this was caused by an incorrect assumption on the
directory structure of the virtualenv directory. According to the
virtualenv docs only POSIX systems follow the structure
"/path/to/venv/bin/", while windows systems use "/path/to/venv/Scripts"
for the location of the binary files, most importantly including the
python interpreter (see:
https://virtualenv.pypa.io/en/stable/userguide/#windows-notes).
This meant that the wrong path was added to `exec-path` and so we were
starting the python shell installed on the system, rather than the one
bundled inside of the virtualenv.
This should be addressed in the attached patch file - it just adds a
special case for Windows and prepends that path to the system PATH.
I also updated the docs for the `python-shell-calculate-exec-path`
function to make it more clear that using the python interpreter bundled
in the virtualenv will automatically set the PYTHONPATH to point at the
libraries inside of the virtualenv - something that was not immediately
obvious to me.
Steps to verify that patch is working correctly:
1. (On Windows)
2. Create virtualenv (eg. 'virtualenv ~/venv')
3. Install a library NOT currently installed on the your system inside
the virtualenv. ex:
~/venv/Scripts/activate.bat
pip install sphinx
deactivate.bat
4. Start emacs
5. Set `python-shell-virtualenv-root` to the root directory of your
virtualenv (eg. "/home/jtimmons/venv")
6. M-x run-python
7. Make sure that you can import the library installed in the
virtualenv in step 3 (eg. 'import sphinx')
[venv.diff (text/x-patch, attachment)]
This bug report was last modified 7 years and 196 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.