Error: Source Distribution Already Exists¶
This error is presented when an attempt is made to export/create a source distribution of a package in a way that would overwrite an existing source distribution.
If exporting to a repository, this means that a source distribution with
the same name and version is already present in the repository. The
--replace
option can be used to make dds
forcibly overwrite the source
distribution in the repository. This will be a common workflow when developing
a package and one desires to see those changes reflected in another project
that is try to use it.
If creating a source distribution manually, this means that the destination
path of the source distribution directory is already an existing directory
(which may not be a source distribution itself). If dds
were to try and
write a source distribution to the named path, it would be required to delete
whatever exists there before creating the source distribution.
Warning
When using dds sdist create
with the --out <path>
parameter, the
<path>
given is not the directory in which to place the source
distribution, but the filepath to the source distribution itself!
If I have a directory named foo/
, and I want to create a source
distribution in that directory, the following command is incorrect:
# Do not do this:
dds sdist create --out foo/
If you pass --replace
to the above command, dds
will destroy the
existing directory and replace it with the source distribution!
You must provide the full path to the source distribution:
# Do this:
dds sdist create --out foo/my-project.dsd