Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add dramatically improved queued installation #3209

Closed
wants to merge 26 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
36f054d
Grab updates from latest vendored changes
techalchemy Nov 8, 2018
5b49670
Fix broken requirementslib updates
techalchemy Nov 8, 2018
f3003b6
Merge branch 'master' into update-vendor
techalchemy Nov 8, 2018
2b90c89
Revendor requirementslib
techalchemy Nov 11, 2018
dec7be5
Introduce `pipenv.environments.Environment`
techalchemy Nov 11, 2018
642b6f9
Update vistir and requirementslib
techalchemy Nov 11, 2018
aedb41c
Fix stdout and stderr wrappers
techalchemy Nov 11, 2018
45100b8
Fix stdout and stderr wrappers
techalchemy Nov 11, 2018
118c9d3
Add dramatically improved queued installation
techalchemy Nov 11, 2018
5602952
Merge branch 'update-vendor' of github.com:pypa/pipenv into update-ve…
techalchemy Nov 11, 2018
690d1e8
Merge branch 'update-vendor' into feature/improved-async-installer
techalchemy Nov 11, 2018
8644611
Merge branch 'master' into update-vendor
techalchemy Nov 11, 2018
ac96370
Merge branch 'update-vendor' into feature/improved-async-installer
techalchemy Nov 11, 2018
8643a73
Fix configparser import
techalchemy Nov 11, 2018
fe9d996
Fix resource errors
techalchemy Nov 11, 2018
e5be2ac
Fix python 2.7 installations
techalchemy Nov 12, 2018
3984632
Fix various bugs with python 2.7 and vendored deps
techalchemy Nov 12, 2018
32a6dd3
Support python 2 parsing
techalchemy Nov 12, 2018
4009198
Fix environment site import
techalchemy Nov 12, 2018
7e139ad
Fix import errors on setup parsing
techalchemy Nov 12, 2018
8502ac9
Revendor
techalchemy Nov 12, 2018
0c7f287
Fix prefix comparison for py2
techalchemy Nov 12, 2018
eed0f0f
Merge branch 'master' into feature/improved-async-installer
techalchemy Nov 12, 2018
d7d50ef
no samefile for windows python2.7
techalchemy Nov 12, 2018
9296f56
Fix bugs in environment implementation
techalchemy Nov 13, 2018
e62b800
Fix syntax
techalchemy Nov 13, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions news/3196.vendor.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Updated ``requirementslib`` to aid in resolution of local and remote archives.
1 change: 1 addition & 0 deletions news/d65e7c90-3e70-40ba-8242-1e6ed18fc2fe.feature.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Improved asynchronous installation and error handling via queued subprocess paralleization.
12 changes: 8 additions & 4 deletions pipenv/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@

from .__version__ import __version__

PIPENV_ROOT = os.path.dirname(os.path.realpath(__file__))
PIPENV_ROOT = os.path.abspath(os.path.dirname(os.path.realpath(__file__)))
PIPENV_VENDOR = os.sep.join([PIPENV_ROOT, "vendor"])
PIPENV_PATCHED = os.sep.join([PIPENV_ROOT, "patched"])
# Inject vendored directory into system path.
Expand All @@ -27,11 +27,15 @@
if sys.version_info >= (3, 1) and sys.version_info <= (3, 6):
if sys.stdout.isatty() and sys.stderr.isatty():
import io
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf8')
sys.stderr = io.TextIOWrapper(sys.stderr.buffer, encoding='utf8')
import atexit
stdout_wrapper = io.TextIOWrapper(sys.stdout.buffer, encoding='utf8')
atexit.register(stdout_wrapper.close)
stderr_wrapper = io.TextIOWrapper(sys.stderr.buffer, encoding='utf8')
atexit.register(stderr_wrapper.close)
sys.stdout = stdout_wrapper
sys.stderr = stderr_wrapper

os.environ["PIP_DISABLE_PIP_VERSION_CHECK"] = fs_str("1")
os.environ["PIP_SHIMS_BASE_MODULE"] = fs_str("pipenv.patched.notpip")

# Hack to make things work better.
try:
Expand Down
2 changes: 1 addition & 1 deletion pipenv/_compat.py
Original file line number Diff line number Diff line change
Expand Up @@ -382,7 +382,7 @@ def decode_output(output):
except (AttributeError, UnicodeDecodeError, UnicodeEncodeError):
if six.PY2:
output = unicode.translate(vistir.misc.to_text(output),
UNICODE_TO_ASCII_TRANSLATION_MAP)
UNICODE_TO_ASCII_TRANSLATION_MAP)
else:
output = output.translate(UNICODE_TO_ASCII_TRANSLATION_MAP)
output = output.encode(DEFAULT_ENCODING, "replace")
Expand Down
Loading