Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
S
setuptools
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Jérome Perrin
setuptools
Commits
6aa7964f
Commit
6aa7964f
authored
Sep 16, 2018
by
Jason R. Coombs
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Merge ancient easy_install history into changelog
parent
f4286295
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
477 additions
and
498 deletions
+477
-498
CHANGES.rst
CHANGES.rst
+477
-0
docs/easy_install.txt
docs/easy_install.txt
+0
-498
No files found.
CHANGES.rst
View file @
6aa7964f
...
...
@@ -3210,6 +3210,37 @@ easy_install
gracefully under Google App Engine (with an ``ImportError`` loading the
C-based module, instead of getting a ``NameError``).
* Fixed ``win32.exe`` support for .pth files, so unnecessary directory nesting
is flattened out in the resulting egg. (There was a case-sensitivity
problem that affected some distributions, notably ``pywin32``.)
* Prevent ``--help-commands`` and other junk from showing under Python 2.5
when running ``easy_install --help``.
* Fixed GUI scripts sometimes not executing on Windows
* Fixed not picking up dependency links from recursive dependencies.
* Only make ``.py``, ``.dll`` and ``.so`` files executable when unpacking eggs
* Changes for Jython compatibility
* Improved error message when a requirement is also a directory name, but the
specified directory is not a source package.
* Fixed ``--allow-hosts`` option blocking ``file:`` URLs
* Fixed HTTP SVN detection failing when the page title included a project
name (e.g. on SourceForge-hosted SVN)
* Fix Jython script installation to handle ``#!`` lines better when
``sys.executable`` is a script.
* Removed use of deprecated ``md5`` module if ``hashlib`` is available
* Keep site directories (e.g. ``site-packages``) from being included in
``.pth`` files.
0.6c7
-----
...
...
@@ -3220,6 +3251,11 @@ easy_install
``--root`` or ``--single-version-externally-managed``, due to the
parent package not having the child package as an attribute.
* ``ftp:`` download URLs now work correctly.
* The default ``--index-url`` is now ``https://pypi.python.org/simple``, to use
the Python Package Index'
s
new
simpler
(
and
faster
!) REST API.
0.6
c6
-----
...
...
@@ -3243,6 +3279,18 @@ easy_install
* Fix ``find_packages()`` treating ``ez_setup`` and directories with ``.`` in
their names as packages.
* EasyInstall no longer aborts the installation process if a URL it wants to
retrieve can'
t
be
downloaded
,
unless
the
URL
is
an
actual
package
download
.
Instead
,
it
issues
a
warning
and
tries
to
keep
going
.
*
Fixed
distutils
-
style
scripts
originally
built
on
Windows
having
their
line
endings
doubled
when
installed
on
any
platform
.
*
Added
``--
local
-
snapshots
-
ok
``
flag
,
to
allow
building
eggs
from
projects
installed
using
``
setup
.
py
develop
``.
*
Fixed
not
HTML
-
decoding
URLs
scraped
from
web
pages
0.6
c5
-----
...
...
@@ -3252,6 +3300,9 @@ easy_install
*
Fix
uploaded
``
bdist_wininst
``
packages
being
described
as
suitable
for
"any"
version
by
Python
2.5
,
even
if
a
``--
target
-
version
``
was
specified
.
*
Fixed
``.
dll
``
files
on
Cygwin
not
having
executable
permissions
when
an
egg
is
installed
unzipped
.
0.6
c4
-----
...
...
@@ -3281,11 +3332,34 @@ easy_install
listed
a
namespace
package
``
foo
.
bar
``
without
explicitly
listing
``
foo
``
as
a
namespace
package
.
*
Added
support
for
HTTP
"Basic"
authentication
using
``
http
://
user
:
pass
@
host
``
URLs
.
If
a
password
-
protected
page
contains
links
to
the
same
host
(
and
protocol
),
those
links
will
inherit
the
credentials
used
to
access
the
original
page
.
*
Removed
all
special
support
for
Sourceforge
mirrors
,
as
Sourceforge
's
mirror system now works well for non-browser downloads.
* Fixed not recognizing ``win32.exe`` installers that included a custom
bitmap.
* Fixed not allowing ``os.open()`` of paths outside the sandbox, even if they
are opened read-only (e.g. reading ``/dev/urandom`` for random numbers, as
is done by ``os.urandom()`` on some platforms).
* Fixed a problem with ``.pth`` testing on Windows when ``sys.executable``
has a space in it (e.g., the user installed Python to a ``Program Files``
directory).
0.6c3
-----
* Fixed breakages caused by Subversion 1.4'
s
new
"working copy"
format
*
You
can
once
again
use
"python -m easy_install"
with
Python
2.4
and
above
.
*
Python
2.5
compatibility
fixes
added
.
0.6
c2
-----
...
...
@@ -3296,6 +3370,19 @@ easy_install
* Running ``setup.py develop`` on a setuptools-using project will now install
setuptools if needed, instead of only downloading the egg.
* Windows script wrappers now support quoted arguments and arguments
containing spaces. (Patch contributed by Jim Fulton.)
* The ``ez_setup.py`` script now actually works when you put a setuptools
``.egg`` alongside it for bootstrapping an offline machine.
* A writable installation directory on ``sys.path`` is no longer required to
download and extract a source distribution using ``--editable``.
* Generated scripts now use ``-x`` on the ``#!`` line when ``sys.executable``
contains non-ASCII characters, to prevent deprecation warnings about an
unspecified encoding when the script is run.
0.6c1
-----
...
...
@@ -3319,6 +3406,9 @@ easy_install
the
version
was
overridden
on
the
command
line
that
built
the
source
distribution
.)
*
EasyInstall
now
includes
setuptools
version
information
in
the
``
User
-
Agent
``
string
sent
to
websites
it
visits
.
0.6
b4
-----
...
...
@@ -3331,6 +3421,27 @@ easy_install
* Fixed redundant warnings about missing ``README`` file(s); it should now
appear only if you are actually a source distribution.
* Fix creating Python wrappers for non-Python scripts
* Fix ``ftp://`` directory listing URLs from causing a crash when used in the
"Home page" or "Download URL" slots on PyPI.
* Fix ``sys.path_importer_cache`` not being updated when an existing zipfile
or directory is deleted/overwritten.
* Fix not recognizing HTML 404 pages from package indexes.
* Allow ``file://`` URLs to be used as a package index. URLs that refer to
directories will use an internally-generated directory listing if there is
no ``index.html`` file in the directory.
* Allow external links in a package index to be specified using
``rel="homepage"`` or ``rel="download"``, without needing the old
PyPI-specific visible markup.
* Suppressed warning message about possibly-misspelled project name, if an egg
or link for that project name has already been seen.
0.6b3
-----
...
...
@@ -3341,6 +3452,28 @@ easy_install
``include_package_data`` and ``package_data`` are used to refer to the same
files.
* Fix local ``--find-links`` eggs not being copied except with
``--always-copy``.
* Fix sometimes not detecting local packages installed outside of "site"
directories.
* Fix mysterious errors during initial ``setuptools`` install, caused by
``ez_setup`` trying to run ``easy_install`` twice, due to a code fallthru
after deleting the egg from which it'
s
running
.
0.6
b2
-----
*
Don
't install or update a ``site.py`` patch when installing to a
``PYTHONPATH`` directory with ``--multi-version``, unless an
``easy-install.pth`` file is already in use there.
* Construct ``.pth`` file paths in such a way that installing an egg whose
name begins with ``import`` doesn'
t
cause
a
syntax
error
.
*
Fixed
a
bogus
warning
message
that
wasn
't updated since the 0.5 versions.
0.6b1
-----
...
...
@@ -3348,6 +3481,21 @@ easy_install
the name of a ``.py`` loader/wrapper. (Python'
s
import
machinery
ignores
this
suffix
when
searching
for
an
extension
module
.)
*
Better
ambiguity
management
:
accept
``#
egg
``
name
/
version
even
if
processing
what
appears
to
be
a
correctly
-
named
distutils
file
,
and
ignore
``.
egg
``
files
with
no
``-``,
since
valid
Python
``.
egg
``
files
always
have
a
version
number
(
but
Scheme
eggs
often
don
't).
* Support ``file://`` links to directories in ``--find-links``, so that
easy_install can build packages from local source checkouts.
* Added automatic retry for Sourceforge mirrors. The new download process is
to first just try dl.sourceforge.net, then randomly select mirror IPs and
remove ones that fail, until something works. The removed IPs stay removed
for the remainder of the run.
* Ignore bdist_dumb distributions when looking at download URLs.
0.6a11
------
...
...
@@ -3381,11 +3529,75 @@ easy_install
it. Previously, the file could be left open and the actual error would be
masked by problems trying to remove the open file on Windows systems.
* Process ``dependency_links.txt`` if found in a distribution, by adding the
URLs to the list for scanning.
* Use relative paths in ``.pth`` files when eggs are being installed to the
same directory as the ``.pth`` file. This maximizes portability of the
target directory when building applications that contain eggs.
* Added ``easy_install-N.N`` script(s) for convenience when using multiple
Python versions.
* Added automatic handling of installation conflicts. Eggs are now shifted to
the front of sys.path, in an order consistent with where they came from,
making EasyInstall seamlessly co-operate with system package managers.
The ``--delete-conflicting`` and ``--ignore-conflicts-at-my-risk`` options
are now no longer necessary, and will generate warnings at the end of a
run if you use them.
* Don'
t
recursively
traverse
subdirectories
given
to
``--
find
-
links
``.
0.6
a10
------
*
Fixed
the
``
develop
``
command
ignoring
``--
find
-
links
``.
*
Added
exhaustive
testing
of
the
install
directory
,
including
a
spawn
test
for
``.
pth
``
file
support
,
and
directory
writability
/
existence
checks
.
This
should
virtually
eliminate
the
need
to
set
or
configure
``--
site
-
dirs
``.
*
Added
``--
prefix
``
option
for
more
do
-
what
-
I
-
mean
-
ishness
in
the
absence
of
RTFM
-
ing
.
:)
*
Enhanced
``
PYTHONPATH
``
support
so
that
you
don
't have to put any eggs on it
manually to make it work. ``--multi-version`` is no longer a silent
default; you must explicitly use it if installing to a non-PYTHONPATH,
non-"site" directory.
* Expand ``$variables`` used in the ``--site-dirs``, ``--build-directory``,
``--install-dir``, and ``--script-dir`` options, whether on the command line
or in configuration files.
* Improved SourceForge mirror processing to work faster and be less affected
by transient HTML changes made by SourceForge.
* PyPI searches now use the exact spelling of requirements specified on the
command line or in a project'
s
``
install_requires
``.
Previously
,
a
normalized
form
of
the
name
was
used
,
which
could
lead
to
unnecessary
full
-
index
searches
when
a
project
's name had an underscore (``_``) in it.
* EasyInstall can now download bare ``.py`` files and wrap them in an egg,
as long as you include an ``#egg=name-version`` suffix on the URL, or if
the ``.py`` file is listed as the "Download URL" on the project'
s
PyPI
page
.
This
allows
third
parties
to
"package"
trivial
Python
modules
just
by
linking
to
them
(
e
.
g
.
from
within
their
own
PyPI
page
or
download
links
page
).
*
The
``--
always
-
copy
``
option
now
skips
"system"
and
"development"
eggs
since
they
can
't be reliably copied. Note that this may cause EasyInstall to
choose an older version of a package than what you expected, or it may cause
downloading and installation of a fresh version of what'
s
already
installed
.
*
The
``--
find
-
links
``
option
previously
scanned
all
supplied
URLs
and
directories
as
early
as
possible
,
but
now
only
directories
and
direct
archive
links
are
scanned
immediately
.
URLs
are
not
retrieved
unless
a
package
search
was
already
going
to
go
online
due
to
a
package
not
being
available
locally
,
or
due
to
the
use
of
the
``--
update
``
or
``-
U
``
option
.
*
Fixed
the
annoying
``--
help
-
commands
``
wart
.
0.6
a9
-----
...
...
@@ -3436,6 +3648,22 @@ easy_install
and
entry
-
point
wrapper
scripts
),
and
``
easy_install
``
can
turn
the
.
exe
back
into
an
``.
egg
``
file
or
directory
and
install
it
as
such
.
*
Fixed
``.
pth
``
file
processing
picking
up
nested
eggs
(
i
.
e
.
ones
inside
"baskets"
)
when
they
weren
't explicitly listed in the ``.pth`` file.
* If more than one URL appears to describe the exact same distribution, prefer
the shortest one. This helps to avoid "table of contents" CGI URLs like the
ones on effbot.org.
* Quote arguments to python.exe (including python'
s
path
)
to
avoid
problems
when
Python
(
or
a
script
)
is
installed
in
a
directory
whose
name
contains
spaces
on
Windows
.
*
Support
full
roundtrip
translation
of
eggs
to
and
from
``
bdist_wininst
``
format
.
Running
``
bdist_wininst
``
on
a
setuptools
-
based
package
wraps
the
egg
in
an
.
exe
that
will
safely
install
it
as
an
egg
(
i
.
e
.,
with
metadata
and
entry
-
point
wrapper
scripts
),
and
``
easy_install
``
can
turn
the
.
exe
back
into
an
``.
egg
``
file
or
directory
and
install
it
as
such
.
0.6
a8
-----
...
...
@@ -3464,6 +3692,45 @@ easy_install
metadata cache to pretend that the egg has valid version information, until
it has a chance to make it actually be so (via the ``egg_info`` command).
* Update for changed SourceForge mirror format
* Fixed not installing dependencies for some packages fetched via Subversion
* Fixed dependency installation with ``--always-copy`` not using the same
dependency resolution procedure as other operations.
* Fixed not fully removing temporary directories on Windows, if a Subversion
checkout left read-only files behind
* Fixed some problems building extensions when Pyrex was installed, especially
with Python 2.4 and/or packages using SWIG.
0.6a7
-----
* Fixed not being able to install Windows script wrappers using Python 2.3
0.6a6
-----
* Added support for "traditional" PYTHONPATH-based non-root installation, and
also the convenient ``virtual-python.py`` script, based on a contribution
by Ian Bicking. The setuptools egg now contains a hacked ``site`` module
that makes the PYTHONPATH-based approach work with .pth files, so that you
can get the full EasyInstall feature set on such installations.
* Added ``--no-deps`` and ``--allow-hosts`` options.
* Improved Windows ``.exe`` script wrappers so that the script can have the
same name as a module without confusing Python.
* Changed dependency processing so that it'
s
breadth
-
first
,
allowing
a
depender
's preferences to override those of a dependee, to prevent conflicts
when a lower version is acceptable to the dependee, but not the depender.
Also, ensure that currently installed/selected packages aren'
t
given
precedence
over
ones
desired
by
a
package
being
installed
,
which
could
cause
conflict
errors
.
0.6
a5
-----
...
...
@@ -3476,6 +3743,17 @@ easy_install
on
Windows
and
other
platforms
.
(
The
special
handling
is
only
for
Windows
;
other
platforms
are
treated
the
same
as
for
``
console_scripts
``.)
*
Improved
error
message
when
trying
to
use
old
ways
of
running
``
easy_install
``.
Removed
the
ability
to
run
via
``
python
-
m
``
or
by
running
``
easy_install
.
py
``;
``
easy_install
``
is
the
command
to
run
on
all
supported
platforms
.
*
Improved
wrapper
script
generation
and
runtime
initialization
so
that
a
VersionConflict
doesn
't occur if you later install a competing version of a
needed package as the default version of that package.
* Fixed a problem parsing version numbers in ``#egg=`` links.
0.6a2
-----
...
...
@@ -3484,6 +3762,15 @@ easy_install
scripts get an ``.exe`` wrapper so you can just type their name. On other
platforms, the scripts are written without a file extension.
* EasyInstall can now install "console_scripts" defined by packages that use
``setuptools`` and define appropriate entry points. On Windows, console
scripts get an ``.exe`` wrapper so you can just type their name. On other
platforms, the scripts are installed without a file extension.
* Using ``python -m easy_install`` or running ``easy_install.py`` is now
DEPRECATED, since an ``easy_install`` wrapper is now available on all
platforms.
0.6a1
-----
...
...
@@ -3529,6 +3816,55 @@ easy_install
or documented, and never would have worked without EasyInstall - which it
pre-dated and was never compatible with.
* EasyInstall now does MD5 validation of downloads from PyPI, or from any link
that has an "#md5=..." trailer with a 32-digit lowercase hex md5 digest.
* EasyInstall now handles symlinks in target directories by removing the link,
rather than attempting to overwrite the link'
s
destination
.
This
makes
it
easier
to
set
up
an
alternate
Python
"home"
directory
(
as
described
above
in
the
`
Non
-
Root
Installation
`
_
section
).
*
Added
support
for
handling
MacOS
platform
information
in
``.
egg
``
filenames
,
based
on
a
contribution
by
Kevin
Dangoor
.
You
may
wish
to
delete
and
reinstall
any
eggs
whose
filename
includes
"darwin"
and
"Power_Macintosh"
,
because
the
format
for
this
platform
information
has
changed
so
that
minor
OS
X
upgrades
(
such
as
10.4.1
to
10.4.2
)
do
not
cause
eggs
built
with
a
previous
OS
version
to
become
obsolete
.
*
easy_install
's dependency processing algorithms have changed. When using
``--always-copy``, it now ensures that dependencies are copied too. When
not using ``--always-copy``, it tries to use a single resolution loop,
rather than recursing.
* Fixed installing extra ``.pyc`` or ``.pyo`` files for scripts with ``.py``
extensions.
* Added ``--site-dirs`` option to allow adding custom "site" directories.
Made ``easy-install.pth`` work in platform-specific alternate site
directories (e.g. ``~/Library/Python/2.x/site-packages`` on Mac OS X).
* If you manually delete the current version of a package, the next run of
EasyInstall against the target directory will now remove the stray entry
from the ``easy-install.pth`` file.
* EasyInstall now recognizes URLs with a ``#egg=project_name`` fragment ID
as pointing to the named project'
s
source
checkout
.
Such
URLs
have
a
lower
match
precedence
than
any
other
kind
of
distribution
,
so
they
'll only be
used if they have a higher version number than any other available
distribution, or if you use the ``--editable`` option. The ``#egg``
fragment can contain a version if it'
s
formatted
as
``#
egg
=
proj
-
ver
``,
where
``
proj
``
is
the
project
name
,
and
``
ver
``
is
the
version
number
.
You
*
must
*
use
the
format
for
these
values
that
the
``
bdist_egg
``
command
uses
;
i
.
e
.,
all
non
-
alphanumeric
runs
must
be
condensed
to
single
underscore
characters
.
*
Added
the
``--
editable
``
option
;
see
`
Editing
and
Viewing
Source
Packages
`
_
above
for
more
info
.
Also
,
slightly
changed
the
behavior
of
the
``--
build
-
directory
``
option
.
*
Fixed
the
setup
script
sandbox
facility
not
recognizing
certain
paths
as
valid
on
case
-
insensitive
platforms
.
0.5
a12
------
...
...
@@ -3536,12 +3872,28 @@ easy_install
``
python
-
m
``,
and
marks
them
as
unsafe
for
zipping
,
since
Python
2.4
can
't
handle ``-m`` on zipped modules.
* Fix ``python -m easy_install`` not working due to setuptools being installed
as a zipfile. Update safety scanner to check for modules that might be used
as ``python -m`` scripts.
* Misc. fixes for win32.exe support, including changes to support Python 2.4'
s
changed
``
bdist_wininst
``
format
.
0.5
a11
------
*
Fix
breakage
of
the
"develop"
command
that
was
caused
by
the
addition
of
``--
always
-
unzip
``
to
the
``
easy_install
``
command
.
0.5
a10
------
*
Put
the
``
easy_install
``
module
back
in
as
a
module
,
as
it
's needed for
``python -m`` to run it!
* Allow ``--find-links/-f`` to accept local directories or filenames as well
as URLs.
0.5a9
-----
...
...
@@ -3576,6 +3928,31 @@ easy_install
* Fixed the swapped ``-d`` and ``-b`` options of ``bdist_egg``.
* EasyInstall now automatically detects when an "unmanaged" package or
module is going to be on ``sys.path`` ahead of a package you'
re
installing
,
thereby
preventing
the
newer
version
from
being
imported
.
By
default
,
it
will
abort
installation
to
alert
you
of
the
problem
,
but
there
are
also
new
options
(``--
delete
-
conflicting
``
and
``--
ignore
-
conflicts
-
at
-
my
-
risk
``)
available
to
change
the
default
behavior
.
(
Note
:
this
new
feature
doesn
't
take effect for egg files that were built with older ``setuptools``
versions, because they lack the new metadata file required to implement it.)
* The ``easy_install`` distutils command now uses ``DistutilsError`` as its
base error type for errors that should just issue a message to stderr and
exit the program without a traceback.
* EasyInstall can now be given a path to a directory containing a setup
script, and it will attempt to build and install the package there.
* EasyInstall now performs a safety analysis on module contents to determine
whether a package is likely to run in zipped form, and displays
information about what modules may be doing introspection that would break
when running as a zipfile.
* Added the ``--always-unzip/-Z`` option, to force unzipping of packages that
would ordinarily be considered safe to unzip, and changed the meaning of
``--zip-ok/-z`` to "always leave everything zipped".
0.5a8
-----
...
...
@@ -3603,6 +3980,9 @@ easy_install
*
Added
a
"setopt"
command
that
sets
a
single
option
in
a
specified
distutils
configuration
file
.
*
There
is
now
a
separate
documentation
page
for
setuptools
;
revision
history
that
's not specific to EasyInstall has been moved to that page.
0.5a7
-----
...
...
@@ -3670,6 +4050,39 @@ easy_install
* Setup scripts using setuptools now always install using ``easy_install``
internally, for ease of uninstallation and upgrading.
* Added ``--always-copy/-a`` option to always copy needed packages to the
installation directory, even if they'
re
already
present
elsewhere
on
sys
.
path
.
(
In
previous
versions
,
this
was
the
default
behavior
,
but
now
you
must
request
it
.)
*
Added
``--
upgrade
/-
U
``
option
to
force
checking
PyPI
for
latest
available
version
(
s
)
of
all
packages
requested
by
name
and
version
,
even
if
a
matching
version
is
available
locally
.
*
Added
automatic
installation
of
dependencies
declared
by
a
distribution
being
installed
.
These
dependencies
must
be
listed
in
the
distribution
's
``EGG-INFO`` directory, so the distribution has to have declared its
dependencies by using setuptools. If a package has requirements it didn'
t
declare
,
you
'll still have to deal with them yourself. (E.g., by asking
EasyInstall to find and install them.)
* Added the ``--record`` option to ``easy_install`` for the benefit of tools
that run ``setup.py install --record=filename`` on behalf of another
packaging system.)
0.5a3
-----
* Fixed not setting script permissions to allow execution.
* Improved sandboxing so that setup scripts that want a temporary directory
(e.g. pychecker) can still run in the sandbox.
0.5a2
-----
* Fix stupid stupid refactoring-at-the-last-minute typos. :(
0.5a1
-----
...
...
@@ -3684,6 +4097,29 @@ easy_install
from setuptools import setup
# etc...
* Added support for converting ``.win32.exe`` installers to eggs on the fly.
EasyInstall will now recognize such files by name and install them.
* Fixed a problem with picking the "best" version to install (versions were
being sorted as strings, rather than as parsed values)
0.4a4
-----
* Added support for the distutils "verbose/quiet" and "dry-run" options, as
well as the "optimize" flag.
* Support downloading packages that were uploaded to PyPI (by scanning all
links on package pages, not just the homepage/download links).
0.4a3
-----
* Add progress messages to the search/download process so that you can tell
what URLs it'
s
reading
to
find
download
links
.
(
Hopefully
,
this
will
help
people
report
out
-
of
-
date
and
broken
links
to
package
authors
,
and
to
tell
when
they
've asked for a package that doesn'
t
exist
.)
0.4
a2
-----
...
...
@@ -3711,6 +4147,44 @@ easy_install
their
``
command_consumes_arguments
``
attribute
to
``
True
``
in
order
to
receive
an
``
args
``
option
containing
the
rest
of
the
command
line
.
*
Added
support
for
installing
scripts
*
Added
support
for
setting
options
via
distutils
configuration
files
,
and
using
distutils
' default options as a basis for EasyInstall'
s
defaults
.
*
Renamed
``--
scan
-
url
/-
s
``
to
``--
find
-
links
/-
f
``
to
free
up
``-
s
``
for
the
script
installation
directory
option
.
*
Use
``
urllib2
``
instead
of
``
urllib
``,
to
allow
use
of
``
https
:``
URLs
if
Python
includes
SSL
support
.
0.4
a1
-----
*
Added
``--
scan
-
url
``
and
``--
index
-
url
``
options
,
to
scan
download
pages
and
search
PyPI
for
needed
packages
.
0.3
a4
-----
*
Restrict
``--
build
-
directory
=
DIR
/-
b
DIR
``
option
to
only
be
used
with
single
URL
installs
,
to
avoid
running
the
wrong
setup
.
py
.
0.3
a3
-----
*
Added
``--
build
-
directory
=
DIR
/-
b
DIR
``
option
.
*
Added
"installation report"
that
explains
how
to
use
'require()'
when
doing
a
multiversion
install
or
alternate
installation
directory
.
*
Added
SourceForge
mirror
auto
-
select
(
Contributed
by
Ian
Bicking
)
*
Added
"sandboxing"
that
stops
a
setup
script
from
running
if
it
attempts
to
write
to
the
filesystem
outside
of
the
build
area
*
Added
more
workarounds
for
packages
with
quirky
``
install_data
``
hacks
0.3
a2
-----
...
...
@@ -3718,6 +4192,9 @@ easy_install
with a subversion revision number, the current date, or an explicit tag
value. Run ``setup.py bdist_egg --help`` to get more information.
* Added subversion download support for ``svn:`` and ``svn+`` URLs, as well as
automatic recognition of HTTP subversion URLs (Contributed by Ian Bicking)
* Misc. bug fixes
0.3a1
...
...
docs/easy_install.txt
View file @
6aa7964f
...
...
@@ -1114,504 +1114,6 @@ displayed MD5 info (broken onto two lines for readability)::
<a href="([^"#]+)">([^<]+)</a>\n\s+\(<a href="[^?]+\?:action=show_md5
&digest=([0-9a-f]{32})">md5</a>\)
History
=======
0.6c9
* Fixed ``win32.exe`` support for .pth files, so unnecessary directory nesting
is flattened out in the resulting egg. (There was a case-sensitivity
problem that affected some distributions, notably ``pywin32``.)
* Prevent ``--help-commands`` and other junk from showing under Python 2.5
when running ``easy_install --help``.
* Fixed GUI scripts sometimes not executing on Windows
* Fixed not picking up dependency links from recursive dependencies.
* Only make ``.py``, ``.dll`` and ``.so`` files executable when unpacking eggs
* Changes for Jython compatibility
* Improved error message when a requirement is also a directory name, but the
specified directory is not a source package.
* Fixed ``--allow-hosts`` option blocking ``file:`` URLs
* Fixed HTTP SVN detection failing when the page title included a project
name (e.g. on SourceForge-hosted SVN)
* Fix Jython script installation to handle ``#!`` lines better when
``sys.executable`` is a script.
* Removed use of deprecated ``md5`` module if ``hashlib`` is available
* Keep site directories (e.g. ``site-packages``) from being included in
``.pth`` files.
0.6c7
* ``ftp:`` download URLs now work correctly.
* The default ``--index-url`` is now ``https://pypi.python.org/simple``, to use
the Python Package Index's new simpler (and faster!) REST API.
0.6c6
* EasyInstall no longer aborts the installation process if a URL it wants to
retrieve can't be downloaded, unless the URL is an actual package download.
Instead, it issues a warning and tries to keep going.
* Fixed distutils-style scripts originally built on Windows having their line
endings doubled when installed on any platform.
* Added ``--local-snapshots-ok`` flag, to allow building eggs from projects
installed using ``setup.py develop``.
* Fixed not HTML-decoding URLs scraped from web pages
0.6c5
* Fixed ``.dll`` files on Cygwin not having executable permissions when an egg
is installed unzipped.
0.6c4
* Added support for HTTP "Basic" authentication using ``http://user:pass@host``
URLs. If a password-protected page contains links to the same host (and
protocol), those links will inherit the credentials used to access the
original page.
* Removed all special support for Sourceforge mirrors, as Sourceforge's
mirror system now works well for non-browser downloads.
* Fixed not recognizing ``win32.exe`` installers that included a custom
bitmap.
* Fixed not allowing ``os.open()`` of paths outside the sandbox, even if they
are opened read-only (e.g. reading ``/dev/urandom`` for random numbers, as
is done by ``os.urandom()`` on some platforms).
* Fixed a problem with ``.pth`` testing on Windows when ``sys.executable``
has a space in it (e.g., the user installed Python to a ``Program Files``
directory).
0.6c3
* You can once again use "python -m easy_install" with Python 2.4 and above.
* Python 2.5 compatibility fixes added.
0.6c2
* Windows script wrappers now support quoted arguments and arguments
containing spaces. (Patch contributed by Jim Fulton.)
* The ``ez_setup.py`` script now actually works when you put a setuptools
``.egg`` alongside it for bootstrapping an offline machine.
* A writable installation directory on ``sys.path`` is no longer required to
download and extract a source distribution using ``--editable``.
* Generated scripts now use ``-x`` on the ``#!`` line when ``sys.executable``
contains non-ASCII characters, to prevent deprecation warnings about an
unspecified encoding when the script is run.
0.6c1
* EasyInstall now includes setuptools version information in the
``User-Agent`` string sent to websites it visits.
0.6b4
* Fix creating Python wrappers for non-Python scripts
* Fix ``ftp://`` directory listing URLs from causing a crash when used in the
"Home page" or "Download URL" slots on PyPI.
* Fix ``sys.path_importer_cache`` not being updated when an existing zipfile
or directory is deleted/overwritten.
* Fix not recognizing HTML 404 pages from package indexes.
* Allow ``file://`` URLs to be used as a package index. URLs that refer to
directories will use an internally-generated directory listing if there is
no ``index.html`` file in the directory.
* Allow external links in a package index to be specified using
``rel="homepage"`` or ``rel="download"``, without needing the old
PyPI-specific visible markup.
* Suppressed warning message about possibly-misspelled project name, if an egg
or link for that project name has already been seen.
0.6b3
* Fix local ``--find-links`` eggs not being copied except with
``--always-copy``.
* Fix sometimes not detecting local packages installed outside of "site"
directories.
* Fix mysterious errors during initial ``setuptools`` install, caused by
``ez_setup`` trying to run ``easy_install`` twice, due to a code fallthru
after deleting the egg from which it's running.
0.6b2
* Don't install or update a ``site.py`` patch when installing to a
``PYTHONPATH`` directory with ``--multi-version``, unless an
``easy-install.pth`` file is already in use there.
* Construct ``.pth`` file paths in such a way that installing an egg whose
name begins with ``import`` doesn't cause a syntax error.
* Fixed a bogus warning message that wasn't updated since the 0.5 versions.
0.6b1
* Better ambiguity management: accept ``#egg`` name/version even if processing
what appears to be a correctly-named distutils file, and ignore ``.egg``
files with no ``-``, since valid Python ``.egg`` files always have a version
number (but Scheme eggs often don't).
* Support ``file://`` links to directories in ``--find-links``, so that
easy_install can build packages from local source checkouts.
* Added automatic retry for Sourceforge mirrors. The new download process is
to first just try dl.sourceforge.net, then randomly select mirror IPs and
remove ones that fail, until something works. The removed IPs stay removed
for the remainder of the run.
* Ignore bdist_dumb distributions when looking at download URLs.
0.6a11
* Process ``dependency_links.txt`` if found in a distribution, by adding the
URLs to the list for scanning.
* Use relative paths in ``.pth`` files when eggs are being installed to the
same directory as the ``.pth`` file. This maximizes portability of the
target directory when building applications that contain eggs.
* Added ``easy_install-N.N`` script(s) for convenience when using multiple
Python versions.
* Added automatic handling of installation conflicts. Eggs are now shifted to
the front of sys.path, in an order consistent with where they came from,
making EasyInstall seamlessly co-operate with system package managers.
The ``--delete-conflicting`` and ``--ignore-conflicts-at-my-risk`` options
are now no longer necessary, and will generate warnings at the end of a
run if you use them.
* Don't recursively traverse subdirectories given to ``--find-links``.
0.6a10
* Added exhaustive testing of the install directory, including a spawn test
for ``.pth`` file support, and directory writability/existence checks. This
should virtually eliminate the need to set or configure ``--site-dirs``.
* Added ``--prefix`` option for more do-what-I-mean-ishness in the absence of
RTFM-ing. :)
* Enhanced ``PYTHONPATH`` support so that you don't have to put any eggs on it
manually to make it work. ``--multi-version`` is no longer a silent
default; you must explicitly use it if installing to a non-PYTHONPATH,
non-"site" directory.
* Expand ``$variables`` used in the ``--site-dirs``, ``--build-directory``,
``--install-dir``, and ``--script-dir`` options, whether on the command line
or in configuration files.
* Improved SourceForge mirror processing to work faster and be less affected
by transient HTML changes made by SourceForge.
* PyPI searches now use the exact spelling of requirements specified on the
command line or in a project's ``install_requires``. Previously, a
normalized form of the name was used, which could lead to unnecessary
full-index searches when a project's name had an underscore (``_``) in it.
* EasyInstall can now download bare ``.py`` files and wrap them in an egg,
as long as you include an ``#egg=name-version`` suffix on the URL, or if
the ``.py`` file is listed as the "Download URL" on the project's PyPI page.
This allows third parties to "package" trivial Python modules just by
linking to them (e.g. from within their own PyPI page or download links
page).
* The ``--always-copy`` option now skips "system" and "development" eggs since
they can't be reliably copied. Note that this may cause EasyInstall to
choose an older version of a package than what you expected, or it may cause
downloading and installation of a fresh version of what's already installed.
* The ``--find-links`` option previously scanned all supplied URLs and
directories as early as possible, but now only directories and direct
archive links are scanned immediately. URLs are not retrieved unless a
package search was already going to go online due to a package not being
available locally, or due to the use of the ``--update`` or ``-U`` option.
* Fixed the annoying ``--help-commands`` wart.
0.6a9
* Fixed ``.pth`` file processing picking up nested eggs (i.e. ones inside
"baskets") when they weren't explicitly listed in the ``.pth`` file.
* If more than one URL appears to describe the exact same distribution, prefer
the shortest one. This helps to avoid "table of contents" CGI URLs like the
ones on effbot.org.
* Quote arguments to python.exe (including python's path) to avoid problems
when Python (or a script) is installed in a directory whose name contains
spaces on Windows.
* Support full roundtrip translation of eggs to and from ``bdist_wininst``
format. Running ``bdist_wininst`` on a setuptools-based package wraps the
egg in an .exe that will safely install it as an egg (i.e., with metadata
and entry-point wrapper scripts), and ``easy_install`` can turn the .exe
back into an ``.egg`` file or directory and install it as such.
0.6a8
* Update for changed SourceForge mirror format
* Fixed not installing dependencies for some packages fetched via Subversion
* Fixed dependency installation with ``--always-copy`` not using the same
dependency resolution procedure as other operations.
* Fixed not fully removing temporary directories on Windows, if a Subversion
checkout left read-only files behind
* Fixed some problems building extensions when Pyrex was installed, especially
with Python 2.4 and/or packages using SWIG.
0.6a7
* Fixed not being able to install Windows script wrappers using Python 2.3
0.6a6
* Added support for "traditional" PYTHONPATH-based non-root installation, and
also the convenient ``virtual-python.py`` script, based on a contribution
by Ian Bicking. The setuptools egg now contains a hacked ``site`` module
that makes the PYTHONPATH-based approach work with .pth files, so that you
can get the full EasyInstall feature set on such installations.
* Added ``--no-deps`` and ``--allow-hosts`` options.
* Improved Windows ``.exe`` script wrappers so that the script can have the
same name as a module without confusing Python.
* Changed dependency processing so that it's breadth-first, allowing a
depender's preferences to override those of a dependee, to prevent conflicts
when a lower version is acceptable to the dependee, but not the depender.
Also, ensure that currently installed/selected packages aren't given
precedence over ones desired by a package being installed, which could
cause conflict errors.
0.6a3
* Improved error message when trying to use old ways of running
``easy_install``. Removed the ability to run via ``python -m`` or by
running ``easy_install.py``; ``easy_install`` is the command to run on all
supported platforms.
* Improved wrapper script generation and runtime initialization so that a
VersionConflict doesn't occur if you later install a competing version of a
needed package as the default version of that package.
* Fixed a problem parsing version numbers in ``#egg=`` links.
0.6a2
* EasyInstall can now install "console_scripts" defined by packages that use
``setuptools`` and define appropriate entry points. On Windows, console
scripts get an ``.exe`` wrapper so you can just type their name. On other
platforms, the scripts are installed without a file extension.
* Using ``python -m easy_install`` or running ``easy_install.py`` is now
DEPRECATED, since an ``easy_install`` wrapper is now available on all
platforms.
0.6a1
* EasyInstall now does MD5 validation of downloads from PyPI, or from any link
that has an "#md5=..." trailer with a 32-digit lowercase hex md5 digest.
* EasyInstall now handles symlinks in target directories by removing the link,
rather than attempting to overwrite the link's destination. This makes it
easier to set up an alternate Python "home" directory (as described above in
the `Non-Root Installation`_ section).
* Added support for handling MacOS platform information in ``.egg`` filenames,
based on a contribution by Kevin Dangoor. You may wish to delete and
reinstall any eggs whose filename includes "darwin" and "Power_Macintosh",
because the format for this platform information has changed so that minor
OS X upgrades (such as 10.4.1 to 10.4.2) do not cause eggs built with a
previous OS version to become obsolete.
* easy_install's dependency processing algorithms have changed. When using
``--always-copy``, it now ensures that dependencies are copied too. When
not using ``--always-copy``, it tries to use a single resolution loop,
rather than recursing.
* Fixed installing extra ``.pyc`` or ``.pyo`` files for scripts with ``.py``
extensions.
* Added ``--site-dirs`` option to allow adding custom "site" directories.
Made ``easy-install.pth`` work in platform-specific alternate site
directories (e.g. ``~/Library/Python/2.x/site-packages`` on Mac OS X).
* If you manually delete the current version of a package, the next run of
EasyInstall against the target directory will now remove the stray entry
from the ``easy-install.pth`` file.
* EasyInstall now recognizes URLs with a ``#egg=project_name`` fragment ID
as pointing to the named project's source checkout. Such URLs have a lower
match precedence than any other kind of distribution, so they'll only be
used if they have a higher version number than any other available
distribution, or if you use the ``--editable`` option. The ``#egg``
fragment can contain a version if it's formatted as ``#egg=proj-ver``,
where ``proj`` is the project name, and ``ver`` is the version number. You
*must* use the format for these values that the ``bdist_egg`` command uses;
i.e., all non-alphanumeric runs must be condensed to single underscore
characters.
* Added the ``--editable`` option; see `Editing and Viewing Source Packages`_
above for more info. Also, slightly changed the behavior of the
``--build-directory`` option.
* Fixed the setup script sandbox facility not recognizing certain paths as
valid on case-insensitive platforms.
0.5a12
* Fix ``python -m easy_install`` not working due to setuptools being installed
as a zipfile. Update safety scanner to check for modules that might be used
as ``python -m`` scripts.
* Misc. fixes for win32.exe support, including changes to support Python 2.4's
changed ``bdist_wininst`` format.
0.5a10
* Put the ``easy_install`` module back in as a module, as it's needed for
``python -m`` to run it!
* Allow ``--find-links/-f`` to accept local directories or filenames as well
as URLs.
0.5a9
* EasyInstall now automatically detects when an "unmanaged" package or
module is going to be on ``sys.path`` ahead of a package you're installing,
thereby preventing the newer version from being imported. By default, it
will abort installation to alert you of the problem, but there are also
new options (``--delete-conflicting`` and ``--ignore-conflicts-at-my-risk``)
available to change the default behavior. (Note: this new feature doesn't
take effect for egg files that were built with older ``setuptools``
versions, because they lack the new metadata file required to implement it.)
* The ``easy_install`` distutils command now uses ``DistutilsError`` as its
base error type for errors that should just issue a message to stderr and
exit the program without a traceback.
* EasyInstall can now be given a path to a directory containing a setup
script, and it will attempt to build and install the package there.
* EasyInstall now performs a safety analysis on module contents to determine
whether a package is likely to run in zipped form, and displays
information about what modules may be doing introspection that would break
when running as a zipfile.
* Added the ``--always-unzip/-Z`` option, to force unzipping of packages that
would ordinarily be considered safe to unzip, and changed the meaning of
``--zip-ok/-z`` to "always leave everything zipped".
0.5a8
* There is now a separate documentation page for `setuptools`_; revision
history that's not specific to EasyInstall has been moved to that page.
.. _setuptools: http://peak.telecommunity.com/DevCenter/setuptools
0.5a5
* Made ``easy_install`` a standard ``setuptools`` command, moving it from
the ``easy_install`` module to ``setuptools.command.easy_install``. Note
that if you were importing or extending it, you must now change your imports
accordingly. ``easy_install.py`` is still installed as a script, but not as
a module.
0.5a4
* Added ``--always-copy/-a`` option to always copy needed packages to the
installation directory, even if they're already present elsewhere on
sys.path. (In previous versions, this was the default behavior, but now
you must request it.)
* Added ``--upgrade/-U`` option to force checking PyPI for latest available
version(s) of all packages requested by name and version, even if a matching
version is available locally.
* Added automatic installation of dependencies declared by a distribution
being installed. These dependencies must be listed in the distribution's
``EGG-INFO`` directory, so the distribution has to have declared its
dependencies by using setuptools. If a package has requirements it didn't
declare, you'll still have to deal with them yourself. (E.g., by asking
EasyInstall to find and install them.)
* Added the ``--record`` option to ``easy_install`` for the benefit of tools
that run ``setup.py install --record=filename`` on behalf of another
packaging system.)
0.5a3
* Fixed not setting script permissions to allow execution.
* Improved sandboxing so that setup scripts that want a temporary directory
(e.g. pychecker) can still run in the sandbox.
0.5a2
* Fix stupid stupid refactoring-at-the-last-minute typos. :(
0.5a1
* Added support for converting ``.win32.exe`` installers to eggs on the fly.
EasyInstall will now recognize such files by name and install them.
* Fixed a problem with picking the "best" version to install (versions were
being sorted as strings, rather than as parsed values)
0.4a4
* Added support for the distutils "verbose/quiet" and "dry-run" options, as
well as the "optimize" flag.
* Support downloading packages that were uploaded to PyPI (by scanning all
links on package pages, not just the homepage/download links).
0.4a3
* Add progress messages to the search/download process so that you can tell
what URLs it's reading to find download links. (Hopefully, this will help
people report out-of-date and broken links to package authors, and to tell
when they've asked for a package that doesn't exist.)
0.4a2
* Added support for installing scripts
* Added support for setting options via distutils configuration files, and
using distutils' default options as a basis for EasyInstall's defaults.
* Renamed ``--scan-url/-s`` to ``--find-links/-f`` to free up ``-s`` for the
script installation directory option.
* Use ``urllib2`` instead of ``urllib``, to allow use of ``https:`` URLs if
Python includes SSL support.
0.4a1
* Added ``--scan-url`` and ``--index-url`` options, to scan download pages
and search PyPI for needed packages.
0.3a4
* Restrict ``--build-directory=DIR/-b DIR`` option to only be used with single
URL installs, to avoid running the wrong setup.py.
0.3a3
* Added ``--build-directory=DIR/-b DIR`` option.
* Added "installation report" that explains how to use 'require()' when doing
a multiversion install or alternate installation directory.
* Added SourceForge mirror auto-select (Contributed by Ian Bicking)
* Added "sandboxing" that stops a setup script from running if it attempts to
write to the filesystem outside of the build area
* Added more workarounds for packages with quirky ``install_data`` hacks
0.3a2
* Added subversion download support for ``svn:`` and ``svn+`` URLs, as well as
automatic recognition of HTTP subversion URLs (Contributed by Ian Bicking)
* Misc. bug fixes
0.3a1
* Initial release.
Future Plans
============
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment