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?
A . pypirc file allows you to define the configuration for package indexes (referred to here as “repositories”), so that you don't have to enter the URL, username, or password whenever you upload a package with twine or flit.
Some pitfalls to avoid in order to make this work:
The .pypirc
file is expected inside the HOME
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:
[distutils]
index-servers =
pypi
pypitest
[pypitest]
repository = https://testpypi.python.org/pypi
username = <your user name goes here>
password = <your password goes here>
[pypi]
repository = https://pypi.python.org/pypi
username = <your user name goes here>
password = <your password goes here>
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 with pypitest
python setup.py register -r pypitest
And that should do the trick.
Make sure your .pypirc file is in your /home directory.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With