>> Now, as I say, I can fix this quite easily with a virtualenv aware pth
>> file, but since its broken today and AFAIK there isn't a bug open
>> about this, I think it will be fine.
>
> The breaking case was having a package installed editable in the global
> site-packages and then installing another sub-package non-editable in the
> virtualenv. We stopped doing that by making devstack install oslo libraries
> non-editable, but I think, based on what you’re saying, if the test
> environment has access to the global site-packages and only some of the oslo
> libs are installed then building the test environment will fail if it needs
> another lib because it won’t install the packages it can see globally. Is
> that right? Has anyone encountered that situation?
I needed to make a couple of tweaks, and I got confused, so I've
written a test script.
Anyhow:
Editable in global, ok, lets see..
sudo apt-get remove python-oslo.config
sudo pip install -e ./openstack/oslo.config
...
Found existing installation: six 1.5.2
Uninstalling six:
Successfully uninstalled six
Successfully installed oslo.config six netaddr
(Thats going to confuse dpkg, which thinks it installed six, but
nevermind, moving on :)
mkvirtualenv --system-site-packages test-system-site
pip install ./pbr
cd oslo
pip install .
python -c 'import oslo.config'
# is ok
cd ../openstack/oslo.db
pip install .
..
Found existing installation: oslo.config 1.2.1.2.g1ca69b8
Not uninstalling oslo.config at
/home/robertc/work/openstack/oslo.config, outside environment
/home/robertc/.virtualenvs/test-system-site
.. [note that that means it still installed a local oslo.config in the venv]
python -c 'import oslo.config'
# is ok
python -c 'import oslo.db'
# is ok
cd ..
python -c 'import oslo.config'
# is ok
python -c 'import oslo.db'
# is ok
pip uninstall oslo.db
cd openstack/oslo.db
python -c 'import oslo.config'
# ok
python -c 'import oslo.db'
# ok
And your second test, with oslo installed -e.
works fine with oslo.db installed non-dash-e
fails with oslo.db installed -e
fails with olso.db uninstalled
I'm poking around now. It looks like pip install -e outside a venv
writes to /usr/local/lib/python2.7/dist-packages, which is pure crack
- dist-packages is for the distro, site-packages for pip. Sigh. Also
writing to /usr/local/lib when the python prefix is /usr. More
weirdness.
Will be back with more soon :)
--
Robert Collins <[email protected]>
Distinguished Technologist
HP Converged Cloud
_______________________________________________
OpenStack-dev mailing list
[email protected]
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev