taschini / pyinterval

PyInterval — Interval arithmetic in Python
http://pyinterval.readthedocs.io
Other
83 stars 25 forks source link

pip install is failing #13

Closed mayudong closed 7 years ago

mayudong commented 7 years ago

In setup.py metadata = dict( author = 'Stefano Taschini', author_email = 'taschini@gmail.com', description = 'Interval arithmetic in Python', install_requires = ['crlibm>=1.0.3,==1.*', 'six>=1.10'],

install_requires is incomplete, please fix to allow successful install.

taschini commented 7 years ago

What error messages do you get?

dbgoodman commented 7 years ago

I get this error, it looks like:

(splicemod-venv)dbg-mbp:splicemod_dg dbg$ pip install -r requirements.txt 
...
Downloading/unpacking pyinterval==1.1.1 (from -r requirements.txt (line 3))
  Downloading pyinterval-1.1.1.tar.gz
  Running setup.py (path:/Users/dbg/.pyenv/splicemod-venv/build/pyinterval/setup.py) egg_info for package pyinterval
    error in pyinterval setup command: 'install_requires' must be a string or list of strings containing valid project/version requirement specifiers
    Complete output from command python setup.py egg_info:
    error in pyinterval setup command: 'install_requires' must be a string or list of strings containing valid project/version requirement specifiers
dbgoodman commented 7 years ago

When I change the version to 1.0 from 1.1.1 it works.

taschini commented 7 years ago

I suspect you might have an old version of setuptools.

Can you tell me what you get for

$ pip freeze --all | egrep 'setuptools|pip'

and

$ python --version
dbgoodman commented 7 years ago
$ pip freeze --all | egrep 'setuptools|pip'

Usage:   
  pip freeze [options]

no such option: --all

I tried it without the --all and got no output.

$ python --version
Python 2.7.12

I googled around and found that this gives me the setuptools version:

$ easy_install --version
setuptools 18.5 from /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python (Python 2.7)
dbgoodman commented 7 years ago

I upgraded setuptools with:

$ pip install --upgrade setuptools

Then when I upgraded from 1.0.0 to 1.1.1 it seems to have worked:

$ pip install --upgrade pyinterval

Downloading/unpacking pyinterval from https://pypi.python.org/packages/cf/46/2ddd1aa68c16cf52f5f6616baa320713d7fce2a82fd58b009a0dfe88280c/pyinterval-1.1.1.tar.gz#md5=f121f786c81b11812b77120adf777a78
  Downloading pyinterval-1.1.1.tar.gz
  Running setup.py (path:/Users/dbg/.pyenv/splicemod-venv/build/pyinterval/setup.py) egg_info for package pyinterval
  Invalid requirement: u'crlibm>=1.0.3,==1.*' (("Expected ',' or end-of-list in", u'crlibm>=1.0.3,==1.*', 'at', u'*')) in requirement pyinterval from https://pypi.python.org/packages/cf/46/2ddd1aa68c16cf52f5f6616baa320713d7fce2a82fd58b009a0dfe88280c/pyinterval-1.1.1.tar.gz#md5=f121f786c81b11812b77120adf777a78
Requirement already up-to-date: six>=1.10 in /Users/dbg/.pyenv/splicemod-venv/lib/python2.7/site-packages (from pyinterval)
Installing collected packages: pyinterval
  Found existing installation: pyinterval 1.0.0
    Uninstalling pyinterval:
      Successfully uninstalled pyinterval
  Running setup.py install for pyinterval
  Could not find .egg-info directory in install record for pyinterval from https://pypi.python.org/packages/cf/46/2ddd1aa68c16cf52f5f6616baa320713d7fce2a82fd58b009a0dfe88280c/pyinterval-1.1.1.tar.gz#md5=f121f786c81b11812b77120adf777a78 in /Users/dbg/.pyenv/splicemod-venv/lib/python2.7/site-packages
Successfully installed pyinterval
Cleaning up...
dbgoodman commented 7 years ago

Is it possible that that Invalid requirement line is the source of the original error?

taschini commented 7 years ago
  $ pip freeze --all | egrep 'setuptools|pip'

  Usage:
    pip freeze [options]

  no such option: --all

It seems your version of pip is also quite old. Can you tell me what version you have?

$ pip --version
ryhui commented 7 years ago

Hi, I have the same problem here (pip install failing, no option --all for pip). My pip version is 1.5.4

taschini commented 7 years ago

You should be able to get the most recent versions of both pip and setuptools as follows:

$ pip install --upgrade setuptools pip

With them you should be able to install PyInterval.

taschini commented 7 years ago

It turns out that Pip uses a vendorized version of Setuptools. So in case of failure one should upgrade Pip:

$ pip install --upgrade pip

I made a new release (1.2.0), which now provides a helpful message if Pip is outdated.

dbgoodman commented 7 years ago

When I ran this:

$ pip install --upgrade pip

and then installed the newest release with:

$ pip install --upgrade pyinterval

then everything worked great. Thanks!