servo/python
bors-servo ea59e7bb68 Auto merge of #14452 - PeterZhizhin:upgrade-pip-with-new-virtualenv, r=frewsxcv
Commit that fixes the issue #11074 by upgrading pip whenever virtuale…

<!-- Please describe your changes on the following line: -->
I have kind of resolved the issue #11074 by adding bool variable which is set to `True` if we had created the virtualenv and `False` otherwise.

Then it updates pip by executing `pip install --upgrade pip` in the same way as packages are updated. I am a little bit worried that I have almost duplicated the installation routine from the `for` loop but I am not sure whether I should add a function or not.

I think it is the best way of doing this because it does not need any Internet access for regular work (only for the first time you execute mach) as @larsbergstrom worried [here](https://github.com/servo/servo/pull/11149). It also doesn't add any extra latency on a no-op build.

I have checked the solution inside a docker container based on debian wheezy. Before the patch `./mach` failed to run because it wasn't able to install some packages. Now it runs successfully.

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #11074 (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because it changes only mach_bootstrap.py

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/14452)
<!-- Reviewable:end -->
2016-12-03 21:11:48 -08:00
..
servo Auto merge of #14379 - kimsnj:run-headless, r=jdm 2016-12-03 07:55:24 -08:00
tidy Implement tidy commit message test 2016-12-03 19:52:59 +01:00
mach_bootstrap.py Commit that fixes the issue #11074 by upgrading pip whenever virtualenv is created. 2016-12-03 20:07:11 +03:00
README.md Fix styling for Markdown headers. 2016-05-02 22:20:49 -04:00
requirements.txt Add mako to required python packages 2016-10-03 12:37:11 -04:00
tox.ini Added tox.ini 2016-05-08 12:10:48 +02:00

This directory contains various Python modules used to support servo development.

servo

servo-specific python code e.g. implementations of mach commands. This is the canonical repository for this code.

tidy

servo-tidy is used to check licenses, line lengths, whitespace, flake8 on Python files, lock file versions, and more.