Skip to content

Commit 75e7177

Browse files
damzxabbuh
authored andcommitted
Pin Python dependencies and install them in a virtualenv
Installing `sphinx` started to fail about a week ago, with `pip` incorrectly trying to remove a Python package shipped at the system level in Platform.sh environment. It looks like it started failing because of a bug in the older version of `pip` that ships with Debian Jessie. We (Platform.sh) install global Python dependencies as user-site packages (using `pip --user`). We also ship system-site packages that we use for our own benefit. So two issues here: * First, that older version of `pip`. We are going to look into upgrading it (a new batch of images based on Debian Stretch are cooking); * The build dependencies of the Symfony Docs are not pinned, which makes the build non-repeatable. I'm guessing that in this case it broke [when jinja2 ended up requiring markupsafe>=0.23][jinja2-commit] (but that's just a guess). Fix the issue for good by installing in a `virtualenv` and pinning all the dependencies via `pip freeze`. [jinja2-commit]: pallets/jinja@5453db1
1 parent cd2ec4f commit 75e7177

File tree

2 files changed

+21
-2
lines changed

2 files changed

+21
-2
lines changed

.platform.app.yaml

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,10 +46,15 @@ disk: 512
4646
# Build time dependencies.
4747
dependencies:
4848
python:
49-
sphinx: "1.3.6"
49+
virtualenv: 15.1.0
5050

5151
# The hooks that will be performed when the package is deployed.
5252
hooks:
5353
build: |
54-
pip install git+https://github.com/fabpot/sphinx-php.git
54+
virtualenv .virtualenv
55+
. .virtualenv/bin/activate
56+
# Platform.sh currently sets PIP_USER=1.
57+
export PIP_USER=
58+
pip install pip==9.0.1 wheel==0.29.0
59+
pip install -r requirements.txt
5560
make -C _build html

requirements.txt

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
alabaster==0.7.9
2+
Babel==2.3.4
3+
docutils==0.13.1
4+
imagesize==0.7.1
5+
Jinja2==2.9.4
6+
MarkupSafe==0.23
7+
Pygments==2.2.0
8+
pytz==2016.10
9+
requests==2.12.5
10+
six==1.10.0
11+
snowballstemmer==1.2.1
12+
Sphinx==1.5.2
13+
git+https://github.com/fabpot/sphinx-php.git@7312eccce9465640752e51373a480da700e02345#egg_name=sphinx-php
14+

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy