Elpy: /usr/bin/pythonw is used even if a virtualenv is activated

Created on 8 Oct 2017  Â·  9Comments  Â·  Source: jorgenschaefer/elpy

Hello,

On the most recent version of elpy on melpa, elpy is not detecting installed dependencies such as jedi, yapf .. etc.
screenshot

Am not sure if you latest commit (https://github.com/jorgenschaefer/elpy/commit/2d6dc9f31de8805f2b7630c874942fb7e8fb5bd3) causes this or not but i find it weird that /usr/bin/pythonw is used as the version i am using with pyenv is 3.6.2 as apparent on the screenshot.

Edit: The issue is resolved by

(setq elpy-rpc-python-command "~/.pyenv/versions/x/bin/python")

My pyenv doesn't contain pythonw or py executables so maybe virtualenvs should have a different lookup priority?

Thanks

Bug

Most helpful comment

I just pushed 90c659e – does that fix this problem?

All 9 comments

Same problem here.

@rakanalh Yes you're right, must be that commit.
On OS X /usr/bin/pythonw is available. Because the system-type check is removed in this commit the rpc-python is set to pythonw.

Same problem here. In virtualenv, elpy would find the system-wide pythonw, and will not find packages installed in the virtualenv anymore.

Comment out commit 2d6dc9f31de8805f2b7630c874942fb7e8fb5bd3 fixes this problem. In elpy-config, it will find the correct "RPC Python" as in the virtualenv.


I feel elpy-config and clean code structure have made my debugging experience very pleasant. I almost found the source of bug under 2 minutes. Nice job!

@jorgenschaefer seems like multiple people are having this issue... could you please consider a fix? we can revert the commit if you're ok with that approach.

+1 here, too.

… wtf is pythonw available anywhere but Windows? Why is Windows such a pain? :-D Sorry for the inconvenience. As a workaround, you can (setq elpy-rpc-python-command "python") and things should work out. I'm currently without sensible internet access, so I'll not get around to a real fix until later I'm afraid.

I'm using Mac. So the system does have a pythonw, but the one in virtualenv doesn't. That's causing the problem. elpy finds the outside pythonw even if I'm in virtualenv.

I just pushed 90c659e – does that fix this problem?

@jorgenschaefer 90c659e fixes this bug on OS X. Thanks for your quick fix.

Yup... the fix works... thanks @jorgenschaefer

Was this page helpful?
0 / 5 - 0 ratings