[Distutils] How do I use pypissh to upload a package to pypi?

Craig Finch cfinch at ieee.org
Tue Nov 12 16:35:18 CET 2013


I am trying to distribute a package on pypi, but I have not been able to
figure out how to use pypissh to establish a secure connection with the
command-line tools.

I successfully uploaded my package using the traditional username/password
method.  It can be found at:
https://pypi.python.org/pypi/Pizza.py/0.1.0

I then installed pypissh (on Linux) using the command
pip install --user pypissh
and verified that Python can load the module.  I generated an RSA key pair
and added the public key into my pypi account using the web interface.  I
added my private key to my keychain using ssh-add.  Now, when I try to run

python setup.py register

I get the following:

running register
running egg_info
writing requirements to Pizza.py.egg-info/requires.txt
writing Pizza.py.egg-info/PKG-INFO
writing top-level names to Pizza.py.egg-info/top_level.txt
writing dependency_links to Pizza.py.egg-info/dependency_links.txt
reading manifest file 'Pizza.py.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
writing manifest file 'Pizza.py.egg-info/SOURCES.txt'
running check
Registering Pizza.py to http://submit@ssh.pypi.python.org/pypi
Permission denied (publickey).
Traceback (most recent call last):
  File "setup.py", line 18, in <module>
    data_files=[('pizza/test/files', glob("pizza/test/files/*"))]
  File "/usr/lib64/python2.7/distutils/core.py", line 152, in setup
    dist.run_commands()
  File "/usr/lib64/python2.7/distutils/dist.py", line 953, in run_commands
    self.run_command(cmd)
  File "/usr/lib64/python2.7/distutils/dist.py", line 972, in run_command
    cmd_obj.run()
  File "/usr/lib64/python2.7/site-packages/setuptools/command/register.py",
line 9, in run
    _register.run(self)
  File "/usr/lib64/python2.7/distutils/command/register.py", line 57, in run
    self.send_metadata()
  File "/usr/lib64/python2.7/distutils/command/register.py", line 168, in
send_metadata
    auth)
  File "/usr/lib64/python2.7/distutils/command/register.py", line 300, in
post_to_server
    result = opener.open(req)
  File "/home/cfinch/.local/lib64/python2.7/site-packages/pypissh.py", line
66, in open
    return OpenerDirector.open(self, req, data=data)
  File "/usr/lib64/python2.7/urllib2.py", line 404, in open
    response = self._open(req, data)
  File "/usr/lib64/python2.7/urllib2.py", line 422, in _open
    '_open', req)
  File "/usr/lib64/python2.7/urllib2.py", line 382, in _call_chain
    result = func(*args)
  File "/home/cfinch/.local/lib64/python2.7/site-packages/pypissh.py", line
49, in httpssh_open
    return self.do_open(HTTPSSHConnection, req)
  File "/usr/lib64/python2.7/urllib2.py", line 1187, in do_open
    r = h.getresponse(buffering=True)
  File "/usr/lib64/python2.7/httplib.py", line 1045, in getresponse
    response.begin()
  File "/usr/lib64/python2.7/httplib.py", line 409, in begin
    version, status, reason = self._read_status()
  File "/usr/lib64/python2.7/httplib.py", line 373, in _read_status
    raise BadStatusLine(line)
httplib.BadStatusLine: ''

It seems that my key is being rejected.  How do I go about debugging this?
Did I miss a step in the configuration of pypyssh?

   Craig
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/distutils-sig/attachments/20131112/469da3da/attachment.html>


More information about the Distutils-SIG mailing list