title: PyPI upload stopped working and pip install fails
body: <p>I submitted my first PyPI project last night and things are not working as expected (warning long post ahead)...</p>
  
  <p>I originally uploaded the project, <a href="https://pypi.python.org/pypi/cvrfparse" rel="nofollow">cvrfparse</a>, via the commandline by doing: </p>
  
  <pre><code>% python setup.py sdist upload
  </code></pre>
  
  <p>This created the initial project just fine. However trying to install the project via pip, failed thusly:</p>
  
  <pre><code>% sudo pip install cvrfparse
  Password:
  Downloading/unpacking cvrfparse
    Running setup.py egg_info for package cvrfparse
      Traceback (most recent call last):
        File "&lt;string&gt;", line 16, in &lt;module&gt;
        File "/private/tmp/pip-build-root/cvrfparse/setup.py", line 3, in &lt;module&gt;
          from distribute_setup import use_setuptools
      ImportError: No module named distribute_setup
      Complete output from command python setup.py egg_info:
      Traceback (most recent call last):
  
    File "&lt;string&gt;", line 16, in &lt;module&gt;
  
    File "/private/tmp/pip-build-root/cvrfparse/setup.py", line 3, in &lt;module&gt;
  
      from distribute_setup import use_setuptools
  
  ImportError: No module named distribute_setup
  
  ----------------------------------------
  Command python setup.py egg_info failed with error code 1 in /private/tmp/pip-build-root/cvrfparse
  Storing complete log in /Users/m/Library/Logs/pip.log
  </code></pre>
  
  <p>According to <a href="http://pythonhosted.org/distribute/setuptools.html#using-setuptools-without-bundling-it" rel="nofollow">http://pythonhosted.org/distribute/setuptools.html#using-setuptools-without-bundling-it</a> it should just "work" if I have:</p>
  
  <pre><code>from distribute_setup import use_setuptools
  use_setuptools()
  </code></pre>
  
  <p>after the loadcard in setup.py. I then tried adding distribute_setup.py to a MANIFEST.in as per:</p>
  
  <pre><code>% cat MANIFEST.in 
  include distribute_setup.py
  </code></pre>
  
  <p>So after adding that file and bumping the version number in setup.py I then tried to upload the new package to PyPI:</p>
  
  <pre><code>% python setup.py sdist upload
  running sdist
  running egg_info
  writing requirements to cvrfparse.egg-info/requires.txt
  writing cvrfparse.egg-info/PKG-INFO
  writing top-level names to cvrfparse.egg-info/top_level.txt
  writing dependency_links to cvrfparse.egg-info/dependency_links.txt
  writing entry points to cvrfparse.egg-info/entry_points.txt
  reading manifest file 'cvrfparse.egg-info/SOURCES.txt'
  reading manifest template 'MANIFEST.in'
  writing manifest file 'cvrfparse.egg-info/SOURCES.txt'
  running check
  creating cvrfparse-0.10
  creating cvrfparse-0.10/cvrfparse
  creating cvrfparse-0.10/cvrfparse.egg-info
  creating cvrfparse-0.10/cvrfparse/sample-xml
  creating cvrfparse-0.10/cvrfparse/schemata
  creating cvrfparse-0.10/cvrfparse/schemata/common
  creating cvrfparse-0.10/cvrfparse/schemata/common/1.1
  creating cvrfparse-0.10/cvrfparse/schemata/cvrf
  creating cvrfparse-0.10/cvrfparse/schemata/cvrf/1.1
  creating cvrfparse-0.10/cvrfparse/schemata/dublincore
  creating cvrfparse-0.10/cvrfparse/schemata/prod
  creating cvrfparse-0.10/cvrfparse/schemata/prod/1.1
  creating cvrfparse-0.10/cvrfparse/schemata/scap
  creating cvrfparse-0.10/cvrfparse/schemata/vuln
  creating cvrfparse-0.10/cvrfparse/schemata/vuln/1.1
  creating cvrfparse-0.10/cvrfparse/schemata/w3.org
  making hard links in cvrfparse-0.10...
  hard linking MANIFEST.in -&gt; cvrfparse-0.10
  hard linking README -&gt; cvrfparse-0.10
  hard linking distribute_setup.py -&gt; cvrfparse-0.10
  hard linking setup.py -&gt; cvrfparse-0.10
  hard linking cvrfparse/__init__.py -&gt; cvrfparse-0.10/cvrfparse
  hard linking cvrfparse/cvrfparse.py -&gt; cvrfparse-0.10/cvrfparse
  hard linking cvrfparse.egg-info/PKG-INFO -&gt; cvrfparse-0.10/cvrfparse.egg-info
  hard linking cvrfparse.egg-info/SOURCES.txt -&gt; cvrfparse-0.10/cvrfparse.egg-info
  hard linking cvrfparse.egg-info/dependency_links.txt -&gt; cvrfparse-0.10/cvrfparse.egg-info
  hard linking cvrfparse.egg-info/entry_points.txt -&gt; cvrfparse-0.10/cvrfparse.egg-info
  hard linking cvrfparse.egg-info/requires.txt -&gt; cvrfparse-0.10/cvrfparse.egg-info
  hard linking cvrfparse.egg-info/top_level.txt -&gt; cvrfparse-0.10/cvrfparse.egg-info
  hard linking cvrfparse/sample-xml/CVRF-1.1-cisco-sa-20110525-rvs4000.xml -&gt; cvrfparse-0.10/cvrfparse/sample-xml
  hard linking cvrfparse/schemata/catalog.xml -&gt; cvrfparse-0.10/cvrfparse/schemata
  hard linking cvrfparse/schemata/common/1.1/common.xsd -&gt; cvrfparse-0.10/cvrfparse/schemata/common/1.1
  hard linking cvrfparse/schemata/cvrf/1.1/cvrf.xsd -&gt; cvrfparse-0.10/cvrfparse/schemata/cvrf/1.1
  hard linking cvrfparse/schemata/dublincore/dc.xsd -&gt; cvrfparse-0.10/cvrfparse/schemata/dublincore
  hard linking cvrfparse/schemata/prod/1.1/prod.xsd -&gt; cvrfparse-0.10/cvrfparse/schemata/prod/1.1
  hard linking cvrfparse/schemata/scap/cpe-language_2.2a.xsd -&gt; cvrfparse-0.10/cvrfparse/schemata/scap
  hard linking cvrfparse/schemata/scap/cvss-v2_0.9.xsd -&gt; cvrfparse-0.10/cvrfparse/schemata/scap
  hard linking cvrfparse/schemata/scap/scap-core_0.9.xsd -&gt; cvrfparse-0.10/cvrfparse/schemata/scap
  hard linking cvrfparse/schemata/vuln/1.1/vuln.xsd -&gt; cvrfparse-0.10/cvrfparse/schemata/vuln/1.1
  hard linking cvrfparse/schemata/w3.org/xml.xsd -&gt; cvrfparse-0.10/cvrfparse/schemata/w3.org
  Writing cvrfparse-0.10/setup.cfg
  Creating tar archive
  removing 'cvrfparse-0.10' (and everything under it)
  running upload
  Traceback (most recent call last):
    File "setup.py", line 21, in &lt;module&gt;
      ['cvrfparse = cvrfparse.cvrfparse:main',]}
    File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/core.py", line 152, in setup
      dist.run_commands()
    File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/dist.py", line 953, in run_commands
      self.run_command(cmd)
    File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/dist.py", line 972, in run_command
      cmd_obj.run()
    File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/command/upload.py", line 60, in run
      self.upload_file(command, pyversion, filename)
    File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/command/upload.py", line 135, in upload_file
      self.password)
  TypeError: cannot concatenate 'str' and 'NoneType' objects
  </code></pre>
  
  <p>It appears as though something is <code>None</code> where it was previously some?</p>
  
  <p>I then tried to upload the package manually by creating a distribution via:</p>
  
  <pre><code>% python setup.py sdist
  </code></pre>
  
  <p>And uploading that file to PyPI via the web interface. pip install still reports the same problem with this new .10 package. Where am I going wrong?</p>