Nick Coghlan added the comment:

Virtual environments don't provide any sandboxing, they just let you isolate 
different dependency sets from each other when switching between working on 
different applications.

If you're inside a venv, you'll see either:

    sys.prefix != sys.base_prefix (venv created by Py3 stdlib)

or:

    hasattr(sys, "real_prefix") (venv created by virtualenv)

In this case, you can assume the user has write permissions to the virtual 
environment and just invoke sys.executable with "-m pip install pipgui" as 
arguments.

If you're *not* in a virtual environment, you're running directly in the system 
Python, and the user may not have permission to install new packages for 
everyone (and even if they do, it's not necessarily a good idea). In that case, 
you want to pass "-m pip install --user pipgui", so the GUI components get 
installed in the user's home directory, rather than system wide.

----------

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue23551>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to