J'ai un code source fermé Python module que je suis en train de développer et que je souhaite partager avec les gens de mon lieu de travail. J'ai construit une roue via setup.py bdist_wheel
avec ce fichier setup.py:
#!/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',
]
)
Je veux tester le processus d'installation, j'essaie donc d'installer pip dist\mypkg-0.0.1-py2-none-any.whl et d'obtenir le suivi suivant:
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
Quel est le problème et comment le résoudre?
J'utilisais une version très obsolète de PIP.
$ pip -V
pip 1.3.1 from C:\Python27\lib\site-packages (python 2.7)
Je suis passé à pip 6.0.8
et tout va bien.
En utilisant l'AMI Ubuntu 14.04 sur AWS, j'ai constaté que je devais mettre à niveau setuptools
:
Sudo pip3 install -vU setuptools