2015-02-13 6 views
17

Ich habe ein Python-Modul mit geschlossener Quelle, das ich entwickle und das ich gerne mit Leuten an meinem Arbeitsplatz teilen möchte. Ich habe ein Rad über setup.py bdist_wheel mit dieser setup.py-Datei erstellt:ValueError "Erwartete Versionsspezifikation" bei der Installation des lokalen Rades via Pip

#!/usr/bin/env python 

from setuptools import setup, find_packages 

setup(name='mypkg', 
     version='0.0.1', 
     description='tools for work', 
     author='tbhartman', 
     packages=find_packages('src', exclude=['test*']), 
     package_dir = {'':'src'}, 
     entry_points={ 
      'console_scripts':[ 
       'runtool = mypkg.run:main', 
       ], 
      }, 
     install_requires = ['argparse'], 
     classifiers = [ 
      'Development Status :: 3 - Alpha', 
      'Programming Language :: Python :: 2', 
      ] 
    ) 

ich mit der Installation zu testen, so dass ich versuche pip dist \ mypkg-0.0.1-py2-none-any.whl installieren und erhält die folgenden Zurückverfolgungs:

Exception: 
Traceback (most recent call last): 
    File "C:\Python27\lib\site-packages\pip\basecommand.py", line 139, in main 
    status = self.run(options, args) 
    File "C:\Python27\lib\site-packages\pip\commands\install.py", line 235, in run 
    InstallRequirement.from_line(name, None)) 
    File "C:\Python27\lib\site-packages\pip\req.py", line 118, in from_line 
    return cls(req, comes_from, url=url) 
    File "C:\Python27\lib\site-packages\pip\req.py", line 43, in __init__ 
    req = pkg_resources.Requirement.parse(req) 
    File "build\bdist.win32\egg\pkg_resources\__init__.py", line 2929, in parse 
    reqs = list(parse_requirements(s)) 
    File "build\bdist.win32\egg\pkg_resources\__init__.py", line 2876, in parse_requirements 
    "version spec") 
    File "build\bdist.win32\egg\pkg_resources\__init__.py", line 2841, in scan_list 
    raise ValueError(msg, line, "at", line[p:]) 
ValueError: ('Expected version spec in', 'dist/mypkg-0.0.1-py2-none-any.whl', 'at', '/mypkg-0.0.1-py2-none-any.whl') 

Storing complete log in C:\Users\tbhartman\pip\pip.log 

Was ist das Problem und wie ich es beheben?

+0

Es scheint, dass 'pip' aus einem Index für' mypkg-0.0.1-py2-none zu suchen versucht, -any.whl', aber es hat Probleme beim Parsen dieser Zeichenfolge, um ein Paket/eine Version zu erhalten. Wie sage ich 'pip', nur die Raddatei zu verwenden, anstatt nach einem Paket zu suchen? – tbhartman

Antwort

36

Ich verwendete eine sehr veraltete Version von PIP.

$ pip -V 
pip 1.3.1 from C:\Python27\lib\site-packages (python 2.7) 

Ich verbesserte auf pip 6.0.8 und alles ist gut.

+6

Verwenden Sie einfach 'pip install --upgrade pip', um pip zu aktualisieren –

+0

In sehr alten Versionen müssen Sie möglicherweise ausführen python -m pip installieren --upgrade pip – Yonatan

23

Mit dem Ubuntu 14.04 AMI auf AWS, ich fand ich setuptools Upgrade musste:

sudo pip3 install -vU setuptools 
+0

Funktioniert wie ein Charme. Ich hatte das gleiche Problem, das hat es behoben. – SSchneid