Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to fix the issue "PyPI-test not found in .pypic" when submit package to PyPI?

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?

like image 206
hupantingxue Avatar asked Feb 17 '14 08:02

hupantingxue


People also ask

What is Pypirc file?

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.


2 Answers

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.

like image 94
Overdrivr Avatar answered Oct 15 '22 22:10

Overdrivr


Make sure your .pypirc file is in your /home directory.

like image 35
Josh Avatar answered Oct 15 '22 22:10

Josh