I followed the guide How to submit a package to PyPI to submit one package.
It throwed the error below:
Traceback (most recent call last): File "setup.py", line 27, in 'Programming Language :: Python', File "/usr/lib64/python2.6/distutils/core.py", line 152, in setup dist.run_commands() File "/usr/lib64/python2.6/distutils/dist.py", line 975, in run_commands self.run_command(cmd) File "/usr/lib64/python2.6/distutils/dist.py", line 995, in run_command cmd_obj.run() File "/usr/lib/python2.6/site-packages/setuptools/command/register.py", line 9, in run _register.run(self) File "/usr/lib64/python2.6/distutils/command/register.py", line 33, in run self._set_config() File "/usr/lib64/python2.6/distutils/command/register.py", line 84, in _set_config raise ValueError('%s not found in .pypirc' % self.repository) ValueError: PyPI-test not found in .pypirc
My .pypirc file context is:
[distutils] # this tells distutils what package indexes you can push to index-servers = PyPI # the live PyPI PyPI-test # test PyPI [PyPI] # authentication details for live PyPI repository: https://PyPI.python.org/PyPI username: {{username}} password: {{password}} [PyPI-test] # authentication details for test PyPI repository: https://testPyPI.python.org/PyPI username: {{username}}
My OS env is
CentOS release 6.2 (Final)
and python env is
Python 2.6.6
.
What's the reason and how to fix it?
Best Answer
Some pitfalls to avoid in order to make this work:
The
.pypirc
file is expected inside theHOME
directory. This is true for Windows and Unix.If it's not working, it's because the .pypirc file is not found at the path indicated by the
HOME
variable.On Windows, to know what your path is:
With PowerShell (if you are using
pew
to manage virtualenv for instance),echo $HOME
.With default Windows console,
echo %HOMEPATH%
(yes, talk about "portability")Then place the .pypirc file right at that path.
As for the file, don't forget the distutil part, otherwise it won't work. Your file should be EXACTLY like that:
My intuition tells me to not customize the pypi repository name, not sure it works otherwise.
Then, when you run the command, simple provide the
-r
(repository) flag withpypitest
And that should do the trick.