mirror of
https://github.com/pypa/pip
synced 2023-12-13 21:30:23 +01:00
141 lines
6.4 KiB
Plaintext
141 lines
6.4 KiB
Plaintext
Basic setup::
|
|
|
|
>>> import os
|
|
>>> from __main__ import base_path, reset_env, run_pip, pyversion, lib_py, write_file, get_env
|
|
|
|
Some tests of freeze, first we have to install some stuff. Note that
|
|
the test is a little crude at the end because Python 2.5+ adds egg
|
|
info to the standard library, so stuff like wsgiref will show up in
|
|
the freezing. (Probably that should be accounted for in pip, but
|
|
currently it is not). ::
|
|
|
|
>>> reset_env()
|
|
>>> write_file('initools-req.txt', '''\
|
|
... INITools==0.2
|
|
... # and something else to test out:
|
|
... simplejson<=1.7.4
|
|
... ''')
|
|
>>> result = run_pip('install', '-r', 'initools-req.txt')
|
|
>>> result = run_pip('freeze', expect_stderr=True)
|
|
>>> print result
|
|
Script result: ...ython... ../../pip.py -E .../test-scratch freeze
|
|
-- stdout: --------------------
|
|
INITools==0.2
|
|
simplejson==1.7.4...
|
|
<BLANKLINE>
|
|
|
|
Now lets try it with an svn checkout::
|
|
|
|
>>> env = get_env()
|
|
>>> result = env.run('svn', 'co', '-r3472', 'http://svn.colorstudy.com/INITools/trunk', 'initools-trunk')
|
|
>>> result = env.run(os.path.join(env.base_path, 'bin/python'), 'setup.py', 'develop',
|
|
... cwd=os.path.join(env.base_path, 'initools-trunk'))
|
|
>>> result = run_pip('freeze', expect_stderr=True)
|
|
>>> print result
|
|
Script result: ...ython... ../../pip.py -E .../test-scratch freeze
|
|
-- stdout: --------------------
|
|
-e svn+http://svn.colorstudy.com/INITools/trunk@3472#egg=INITools-0.2.1dev_r3472-py2...-dev_r3472
|
|
simplejson==1.7.4...
|
|
<BLANKLINE>
|
|
|
|
Now, straight from trunk (but not editable/setup.py develop)::
|
|
|
|
>>> result = env.run(os.path.join(env.base_path, 'bin/easy_install'), 'http://svn.colorstudy.com/INITools/trunk')
|
|
>>> result = run_pip('freeze', expect_stderr=True)
|
|
>>> print result
|
|
Script result: ...ython... ../../pip.py -E .../test-scratch freeze
|
|
-- stderr: --------------------
|
|
Warning: cannot find svn location for INITools==...dev-r...
|
|
<BLANKLINE>
|
|
-- stdout: --------------------
|
|
## FIXME: could not find svn URL in dependency_links for this package:
|
|
INITools==...dev-r...
|
|
simplejson==1.7.4...
|
|
<BLANKLINE>
|
|
|
|
Bah, that's no good! Let's give it a hint::
|
|
|
|
>>> result = run_pip('freeze', '-f', 'http://svn.colorstudy.com/INITools/trunk#egg=INITools-dev', expect_stderr=True)
|
|
>>> print result
|
|
Script result: ...ython... ../../pip.py -E .../test-scratch freeze -f http://svn.colorstudy.com/INITools/trunk#egg=INITools-dev
|
|
-- stdout: --------------------
|
|
-f http://svn.colorstudy.com/INITools/trunk#egg=INITools-dev
|
|
# Installing as editable to satisfy requirement INITools==...dev-r...:
|
|
-e svn+http://svn.colorstudy.com/INITools/trunk@...#egg=INITools-...dev_r...
|
|
simplejson==1.7.4...
|
|
<BLANKLINE>
|
|
|
|
What about a Git clone?::
|
|
|
|
>>> reset_env()
|
|
>>> env = get_env()
|
|
>>> result = env.run('git', 'clone', 'git://github.com/jezdez/django-pagination.git', 'django-pagination')
|
|
>>> result = env.run('git', 'checkout', '1df6507872d73ee387eb375428eafbfc253dfcd8',
|
|
... cwd=os.path.join(env.base_path, 'django-pagination'), expect_stderr=True)
|
|
>>> result = env.run(os.path.join(env.base_path, 'bin/python'), 'setup.py', 'develop',
|
|
... cwd=os.path.join(env.base_path, 'django-pagination'))
|
|
>>> result = run_pip('freeze', expect_stderr=True)
|
|
>>> print result
|
|
Script result: ...ython... ../../pip.py -E .../test-scratch freeze
|
|
-- stdout: --------------------
|
|
-e git://github.com/jezdez/django-pagination.git@...#egg=django_pagination-...
|
|
...
|
|
<BLANKLINE>
|
|
|
|
>>> result = run_pip('freeze', '-f', 'git://github.com/jezdez/django-pagination.git#egg=django_pagination', expect_stderr=True)
|
|
>>> print result
|
|
Script result: ...ython... ../../pip.py -E .../test-scratch freeze -f git://github.com/jezdez/django-pagination.git#egg=django_pagination
|
|
-- stdout: --------------------
|
|
-f git://github.com/jezdez/django-pagination.git#egg=django_pagination
|
|
-e git://github.com/jezdez/django-pagination.git@...#egg=django_pagination-...-dev
|
|
...
|
|
<BLANKLINE>
|
|
|
|
Now what about Mercurial::
|
|
|
|
>>> reset_env()
|
|
>>> env = get_env()
|
|
>>> result = env.run('hg', 'clone', '-r', 'f8f7eaf275c5', 'http://bitbucket.org/jezdez/django-dbtemplates/', 'django-dbtemplates')
|
|
>>> result = env.run(os.path.join(env.base_path, 'bin/python'), 'setup.py', 'develop',
|
|
... cwd=os.path.join(env.base_path, 'django-dbtemplates'))
|
|
>>> result = run_pip('freeze', expect_stderr=True)
|
|
>>> print result
|
|
Script result: ...ython... ../../pip.py -E .../test-scratch freeze
|
|
-- stdout: --------------------
|
|
-e hg+http://bitbucket.org/jezdez/django-dbtemplates/@...#egg=django_dbtemplates-...
|
|
...
|
|
<BLANKLINE>
|
|
|
|
>>> result = run_pip('freeze', '-f', 'hg+http://bitbucket.org/jezdez/django-dbtemplates#egg=django_dbtemplates', expect_stderr=True)
|
|
>>> print result
|
|
Script result: ...ython... ../../pip.py -E .../test-scratch freeze -f hg+http://bitbucket.org/jezdez/django-dbtemplates#egg=django_dbtemplates
|
|
-- stdout: --------------------
|
|
-f hg+http://bitbucket.org/jezdez/django-dbtemplates#egg=django_dbtemplates
|
|
-e hg+http://bitbucket.org/jezdez/django-dbtemplates/@...#egg=django_dbtemplates-...
|
|
...
|
|
<BLANKLINE>
|
|
|
|
Heck, now look in the Bazaar:
|
|
|
|
>>> reset_env()
|
|
>>> env = get_env()
|
|
>>> result = env.run('bzr', 'checkout', '-r', '2', 'http://bazaar.launchpad.net/%7Ejezdez/pip-test/test/', 'pip-test')
|
|
>>> result = env.run(os.path.join(env.base_path, 'bin/python'), 'setup.py', 'develop',
|
|
... cwd=os.path.join(env.base_path, 'pip-test'))
|
|
>>> result = run_pip('freeze', expect_stderr=True)
|
|
>>> print result
|
|
Script result: ...ython... ../../pip.py -E .../test-scratch freeze
|
|
-- stdout: --------------------
|
|
-e bzr+http://bazaar.launchpad.net/%7Ejezdez/pip-test/test/@...#egg=pip_test-...
|
|
...
|
|
<BLANKLINE>
|
|
|
|
>>> result = run_pip('freeze', '-f', 'bzr+http://bazaar.launchpad.net/%7Ejezdez/pip-test/test/#egg=pip_test', expect_stderr=True)
|
|
>>> print result
|
|
Script result: ...ython... ../../pip.py -E .../test-scratch freeze -f bzr+http://bazaar.launchpad.net/%7Ejezdez/pip-test/test/#egg=pip_test
|
|
-- stdout: --------------------
|
|
-f bzr+http://bazaar.launchpad.net/%7Ejezdez/pip-test/test/#egg=pip_test
|
|
-e bzr+http://bazaar.launchpad.net/%7Ejezdez/pip-test/test/@...#egg=pip_test-...
|
|
...
|
|
<BLANKLINE>
|