appypi
appypi copied to clipboard
can not install packages from private repo
Hi, I wanted to use appypi
, and indeed had some success, but also have run into problems.
Background
There are some in-house apps (they are not on and will not be on pypi), that I would like to install on several machine, update them sometimes, etc.
There are also apps/packages that are on pypi, but they are copied over to the private repo, and then pip
is configured to use exclusively the private repo, ignoring pypi.
This is how it is done: pip
has a config file, so to use a local directory (emulating a private repo) we could use the following ~/.pip/pip.conf
:
[global]
no-index = true
find-links = /home/user/.pip/local
This means, pip
will not visit http://pypi.python.org/pypi at all.
Problems
Given a ~/.pip/pip.conf
like above, with the directory containing private package private
:
$ appypi install private
Looking for private...
[ERROR] Can't find private
Apparently, appypi
is looking somewhere else, than pip
is configured...
Let's have in the directory the package csvkit-0.6.1.tar.gz
and its dependencies (pypi has newer csvkit==0.7.3
which has newer dependencies not installed locally!) and try installing it:
$ appypi install csvkit
Looking for csvkit...
Found csvkit version 0.7.3
Installing...
Command python setup.py egg_info failed with error code 1 in /home/user/.appypi/csvkit/venv/build/csvkit
Storing complete log in /home/user/.pip/pip.log
[ERROR] Package install failed!
So it is looking up the package on pypi
(we do not have 0.7.3 locally!), yet maybe due to a custom pip.conf
, installation fails, so let's remove the config ~/.pip/pip.conf
:
$ rm ~/.pip/pip.conf
Trying again:
$ appypi install csvkit
Looking for csvkit...
Found csvkit version 0.7.3
Installing...
[ERROR] There's no launcher to be set for this package. It is useless to install it through appypi, as you wouldn't be able to use it. Mission aborted!
No luck, but try yet once more:
$ appypi install csvkit
Looking for csvkit...
Found csvkit version 0.7.3
Installing...
Install successful!
So the following problems have been identified:
-
appypi
can not install private apps from private repos -
appypi
can not install apps from private repos, that are also on pypi with newer versions -
pypi
is consulted, even whenpip
is explicitly configured not to do so -
appypi
leaves some files around after failed installs, that prevent next install - I have the following non-package files in ~/.appypi/appypi_cache:-
csvkit
-
csvkit.egg-info
-
PKG-INFO
-
README
-
setup.cfg
-
setup.py
- name='csvkit', version='0.6.1'
-
BTW, https://github.com/stephanepechard/appypi/blob/master/appypi/templates/bootstrapfile_template
pip --no-install
is deprecated in pip 1.5 - https://github.com/pypa/pip/issues/1345
Environment
- Ubuntu 13.10 saucy
- pip 1.4.1
- appypi 0.2.0