Skip to content

RTD uses a cached virtualenv, which makes subpackage content stale #2582

@dhermes

Description

@dhermes

(I recently noticed this, though it's been happening since we switched to subpackages.) For example, in a recent build:

Processing ./core
  Requirement already satisfied (use --upgrade to upgrade):
  google-cloud-core==0.20.0 from file:///.../checkouts/latest/core in
  /home/.../envs/latest/lib/python2.7/site-packages
  (from -r docs/requirements.txt (line 1))
Processing ./bigquery
  Requirement already satisfied (use --upgrade to upgrade):
  google-cloud-bigquery==0.20.0 from file:///.../checkouts/latest/bigquery in
  /home/.../envs/latest/lib/python2.7/site-packages
  (from -r docs/requirements.txt (line 2))

If we were building these on a machine we owned, it would be no big deal, we'd force the packages to reinstall (--ignore-installed) or we'd just create a brand new virtual environment. However, on RTD the only toggles we have are docs/requirements.txt, docs/conf.py and setup.py (at the root).

I spent about 30m messing with the requirements.txt trying to convince it to accept the flag, and trying to see if there was any other hack (by specifying a git URL instead of a filesystem path). The "recommeneded" RTD fix is to install as editable, but pip and setuptools are b0rken with editable installs in namespace packages. Yay!

/cc @jonparrott

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions