PIP creates nonportable exe files in conda virtual environments
See original GitHub issue- Pip version: 9.0.1
- Python version: 3.6.1
- Operating system: Windows 8.1x64 (Russian interface)
Description:
I’ve installed miniconda3 version 4.3.15 with Python 3.6 for Windows x64, then have created environment:
conda create -p E:\Jupyter\dist\pyenv3.6-win64 --copy python=3
Then I’ve activated created environment:
activate E:\Jupyter\dist\pyenv3.6-win64
After that I installed Numpy, Scipy and Matplotlib:
conda install --copy numpy scipy matplotlib
Then I decided to install Jupyter Notebook via pip:
pip install jupyter
After that I’ve deactivated environment:
deactivate
Jupyter Notebook works fine on my computer, but when I try to run it on other computer, I get error:
Fatal error in launcher: Unable to create process using '"'
Then I’ve removed created environment and have recreated it. But I’ve installed Jupyter Notebook via conda:
conda install jupyter
So it seems to me that problem is in pip. Paths to all files don’t contain any nonlatin symbols and spaces as well.
P.S.:
After downloading and installing miniconda from official site, you need add canary channel and update conda (see this comment):
conda config --add channels conda-canary
conda update conda
If you haven’t made this update you will get error on matplotlib installation. Best regards, Andrey.
Issue Analytics
- State:
- Created 6 years ago
- Comments:30 (13 by maintainers)
The best case would be that pip “just works” in a relocatable environment, with no extra flags. Yes, I could hack the installed scripts afterward but this is brittle. I suppose this logic belongs in distlib so that pip and other installers don’t even have to know about it, or the magic string “<launcher_dir>”.
And all the reasons why we don’t want it in pip.
I’ve no idea. I suggest you try doing it and find out.