GithubHelp home page GithubHelp logo

jgonggrijp / pip-review Goto Github PK

View Code? Open in Web Editor NEW

This project forked from jazzband/pip-tools

576.0 576.0 35.0 623 KB

A tool to keep track of your Python package updates.

Home Page: https://pypi.python.org/pypi/pip-review

License: BSD 3-Clause "New" or "Revised" License

Python 85.23% Shell 0.29% Perl 14.49%

pip-review's People

Contributors

5j9 avatar asiier avatar bilelmoussaoui avatar blueyed avatar brutasse avatar cherichy avatar even-even avatar flimm avatar gillingham avatar hueseyincelik avatar jgonggrijp avatar johnmarkschofield avatar joshbode avatar kunif avatar kylestev avatar michaeljones avatar mktums avatar mlew avatar nvie avatar playpauseandstop avatar pmdarrow avatar realshouzy avatar rvause avatar saimn avatar samdobson avatar svetlyak40wt avatar tanducmai avatar xoviat avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pip-review's Issues

Add a LICENSE.txt

The project is documented as being distributed under the BSD license. This is intended (both by Vincent Driessen and by myself), but no license file is included. This appears to be necessary. So I'll add it sometime soon.

Also install as a module so "python3.4 -m pip-review" will work

Console says “No module named pip-review”.
Installed log:

python3.4 -m pip install pip-review
Collecting pip-review  
  Using cached pip-review-0.4.tar.gz  
Installing collected packages: pip-review  
  Running setup.py install for pip-review ... done  
Successfully installed pip-review-0.4  

Implicit dependency on setuptools, possibly better to use packaging

I just noticed that pip_review.__main__ imports parse_version from pkg_resources, which is part of setuptools. Setuptools is not listed as a dependency in the setup.py, so technically, this is bug. However, it is not a severe one, as to my knowledge nobody has run into trouble yet by trying to run pip-review in an environment without setuptools.

We could just make setuptools an explicit dependency. However, we already explicitly rely on packaging, which has a version parser as well. It might, in fact, be better than pkg_resources.parse_version.

I am planning to explore this. As always, that shouldn't stop others from stepping in.

Missplaced ) in Windows output

Split from #13

> pip-review
)raintree==3.30.0 is available (you have 3.27.0
)assandra-driver==3.7.1 is available (you have 2.7.1
)ffi==1.8.3 is available (you have 1.3.1
)ryptography==1.5.2 is available (you have 1.1.1
)ssselect==1.0.0 is available (you have 0.9.1

pip-review 0.5
Consistent across multiple versions of Windows 10.
Same issue in Command Prompt, PowerShell and mintty.

> python
Python 2.7.12 (v2.7.12:d33e0cf91556, Jun 27 2016, 15:19:22) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import locale
>>> locale.getlocale()
(None, None)
>>> locale.getdefaultlocale()
('en_GB', 'cp1252')

How to use pip-review for various Python versions?

I have both Python 2.7 and 3.6 installed (by Homebrew). When running pip-review, it only tries to update python2.7/site-packages/ (as would pip or pip2 list them).

Is there a way to force pip-review to update Python 3 packages? A kind of pip-review3 or pip-review --python3? (I have looked at --help and issues here but haven't found a solution...)

Reimplement pip-review on top of pip list --outdated

Instead of using pip freeze to get a list of installed packages and then running custom code to fetch the latest version from pypi.python.org, simply call pip list --outdated to get all the necessary information at once. Forward arguments like --pre, --local and --user directly to the call to pip list --outdated.

Will allow us to replace the load_pkg_info, guess_pkg_name, get_pkg_info, latest_version, get_latest_versions and get_installed_pkgs by a single short function that does the call to pip list --outdated.

Will resolve #6, #18, #21 and #27 at once.

After this change, pip-review will formally depend on pip>=1.3. This is the first version of pip that shipped with the list subcommand and the corresponding --outdated option.

python3 pip doesn't have version 1.0

pip2 show pip-review 
Name: pip-review
Version: 1.0
Summary: pip-review lets you smoothly manage all available PyPI updates.
Home-page: https://github.com/jgonggrijp/pip-review
Author: Julian Gonggrijp, Vincent Driessen
Author-email: [email protected]
License: BSD
Location: /usr/local/lib/python2.7/dist-packages
Requires: pip, packaging

python3 -m pip show pip-review
Name: pip-review
Version: 0.5.3
Summary: pip-review lets you smoothly manage all available PyPI updates.
Home-page: https://github.com/jgonggrijp/pip-review
Author: Vincent Driessen, Julian Gonggrijp
Author-email: [email protected]
License: BSD
Location: /home/antho/.local/lib/python3.5/site-packages
Requires: packaging, argparse, pip

pip-review hangs when running with pip 18, Python 2.7 and Windows 7

I've been using pip-review for a while, but it has just seemed to stop working recently. when I try to run it on the command line with the -i option, it just sits and hangs and never returns anything. I finally have to Ctrl-C to get out of it, then it shows:

C:\Users>pip-review -i
Operation cancelled by user
Traceback (most recent call last):
File "c:\python27\lib\runpy.py", line 162, in run_module_as_main
"main", fname, loader, pkg_name)
File "c:\python27\lib\runpy.py", line 72, in run_code
exec code in run_globals
File "c:\Python27\Scripts\pip-review.exe_main
.py", line 9, in
File "c:\Python27\Lib\site-packages\pip_review_main
.py", line 201, in main
outdated = get_outdated_packages(forwarded)
File "c:\Python27\Lib\site-packages\pip_review_main_.py", line 185, in get_outdated_packages
output = check_output(command).decode('utf-8')
File "c:\python27\lib\subprocess.py", line 567, in check_output
output, unused_err = process.communicate()
File "c:\python27\lib\subprocess.py", line 791, in communicate
stdout = _eintr_retry_call(self.stdout.read)
File "c:\python27\lib\subprocess.py", line 476, in _eintr_retry_call
return func(*args)
KeyboardInterrupt

I'm using Python 2.7.11 on a Windows 7 machine.

pip-review also updates pip, maybe mention that in the Readme

Quick question that I'm not knowledgable enough to figure out the answer myself and haven't been able to find out through searching - does pip-review update pip itself, or not? Also, would this be good to mention in the README, or is it just something that's obvious to everyone except me?

mysql-connector-python==2.0.4 is available (you have 2.1.3)

Hello

Today I use pip-review for first time.
I updated several packets successfully. Thanks to dev :)
But it remains a wonder that dilemma (I am under ARM Archlinux).
$ pip-review
mysql-connector-python==2.0.4 is available (you have 2.1.3)

It's normal?

match available upgrade to compatibility with latest version of main tool?

First, I think this is a great tool, thanks for rescuing it. My question arises as I look at upgrading to Django 1.9.1 from 1.7. Pip-review does not tell me if any of my dependencies, new or not, are compatible with Django 1.9.1. I'm thinking something like:

dependency x, new version, is compatible with Django x, latest version (or any other Python app)

I don't know if this is possible, or how difficult it would be to implement, but it sure would be a nice convenience. Call it a feature request more than an 'issue'. Let me know what you think, Thx.

pip-review does not compare versions correctly

I'm using pip-review with python3.6 on Linux
As you can see here what i got by runing sudo pip-review --interactive
isc==0.0.0 is available (you have 2.0)
louis==1.3 is available (you have 3.0.0)
python-sane==2.8.2 is available (you have 2.8.3)
pygobject==2.28.3 is available (you have 3.22.0)

I can push a fix if you wish ;)

setuptools-specific features in setup.py break Travis build

In the latest release branch, I converted setup.py to use the proper notation for supported Python versions (ccf48c3) and platform-specific dependencies (47203ee). Unfortunately, that broke the Travis build. For some unclear reason that I need help with, these features cause the installation step to fail at pip install .. I do not see these errors if I run the tests locally with tox.

I tried updating pip (a29db74), but that didn't help. I also tried ensuring that setuptools is installed (6e42869), but that didn't make a difference, either. I decided to accept the broken Travis builds for now and release anyway (0.5.3), because I felt reasonably certain that pip-review still installs and works, but the problem is unsolved.

If somebody knows how to solve this, help will be much appreciated.

Crashes with pip < 6.x

Traceback (most recent call last):
  File "/virtualenv/bin/pip-review", line 40, in <module>
    from pip._vendor.packaging import version as packaging_version
ImportError: No module named packaging
pip (1.5.4)
pip-review (0.4)

Using pip-tools==0.3.6 pip-review works fine with the same old version of pip so it looks like there was a regression after the fork.

Please provide versioned bins

Currently when doing sudo pip2 install pip-review will output /usr/local/bin/pip-review this is fine if you're using only python2 but on my system I'd like to use use python3 as well. Doing sudp pip3 install pip-review will also output to /usr/local/bin/pip-review breaking the the python2 version.

bash ~
$ sudo pip2 install pip-review
Collecting pip-review
  Using cached https://files.pythonhosted.org/packages/92/a0/d978fd28bab000001304a29d560af69a755d9524bece3f6af7f3f1fcccca/pip_review-1.0-py2.py3-none-any.whl
Requirement already satisfied: pip in /usr/lib/python2.7/dist-packages (from pip-review)
Requirement already satisfied: packaging in /usr/local/lib/python2.7/dist-packages (from pip-review)
Requirement already satisfied: pyparsing>=2.0.2 in /usr/local/lib/python2.7/dist-packages (from packaging->pip-review)
Requirement already satisfied: six in /usr/local/lib/python2.7/dist-packages (from packaging->pip-review)
Installing collected packages: pip-review
Successfully installed pip-review-1.0
bash ~
$ md5sum /usr/local/bin/pip-review
36368fd919b8d044fa139bdcee0e6b26  /usr/local/bin/pip-review
bash ~
$ sudo pip3 install pip-review
Collecting pip-review
  Using cached https://files.pythonhosted.org/packages/92/a0/d978fd28bab000001304a29d560af69a755d9524bece3f6af7f3f1fcccca/pip_review-1.0-py2.py3-none-any.whl
Requirement already satisfied: packaging in /usr/local/lib/python3.5/dist-packages (from pip-review)
Requirement already satisfied: pip in /usr/lib/python3/dist-packages (from pip-review)
Requirement already satisfied: pyparsing>=2.0.2 in /usr/local/lib/python3.5/dist-packages (from packaging->pip-review)
Requirement already satisfied: six in /usr/lib/python3/dist-packages (from packaging->pip-review)
Installing collected packages: pip-review
Successfully installed pip-review-1.0
bash ~
$ md5sum /usr/local/bin/pip-review
aa81e4d66d98d6b09aa3147eb149ca9e  /usr/local/bin/pip-review
bash ~
$ ll /usr/local/bin/pip-review*
-rwxr-xr-x 1 root staff 222 Sep 27 00:39 /usr/local/bin/pip-review
bash ~
$ 

TypeError with pip 10.0.1

I am using Python 3.6.6 with pip 10.0.1 on Manjaro Linux. Trying to run the usual sudo pip-review -i command throws an error:

Exception:
Traceback (most recent call last):
  File "/usr/lib/python3.6/site-packages/pip/_internal/basecommand.py", line 228, in main
    status = self.run(options, args)
  File "/usr/lib/python3.6/site-packages/pip/_internal/commands/list.py", line 145, in run
    packages = self.get_outdated(packages, options)
  File "/usr/lib/python3.6/site-packages/pip/_internal/commands/list.py", line 156, in get_outdated
    dist for dist in self.iter_packages_latest_infos(packages, options)
  File "/usr/lib/python3.6/site-packages/pip/_internal/commands/list.py", line 157, in <listcomp>
    if dist.latest_version > dist.parsed_version
TypeError: '>' not supported between instances of 'Version' and 'Version'
Traceback (most recent call last):
  File "/usr/bin/pip-review", line 11, in <module>
    sys.exit(main())
  File "/usr/lib/python3.6/site-packages/pip_review/__main__.py", line 201, in main
    outdated = get_outdated_packages(forwarded)
  File "/usr/lib/python3.6/site-packages/pip_review/__main__.py", line 185, in get_outdated_packages
    output = check_output(command).decode('utf-8')
  File "/usr/lib/python3.6/subprocess.py", line 336, in check_output
    **kwargs).stdout
  File "/usr/lib/python3.6/subprocess.py", line 418, in run
    output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command '['/usr/bin/python3', '-m', 'pip', 'list', '--outdated', '--disable-pip-version-check', '--format=json']' returned non-zero exit status 2.

"Available" and "you have" versions are the same but still obsolete?

I don't get why pip-review lists these packages, they're at the latest version.

bash ~
$ sudo python2 -m pip_review --local
eyeD3==0.8.7 is available (you have 0.8.7)
GPUtil==1.3.0 is available (you have 1.3.0)
hidapi==0.7.99.post21 is available (you have 0.7.99.post21)
hidapi-cffi==0.2.2 is available (you have 0.2.2)
numpy==1.15.2 is available (you have 1.15.2)
nvidia-ml-py==375.53 is available (you have 375.53.1)
packaging==18.0 is available (you have 18.0)
pathlib==1.0.1 is available (you have 1.0.1)
pip-autoremove==0.9.1 is available (you have 0.9.1)
pip-review==1.0 is available (you have 1.0)
psutil==5.4.7 is available (you have 5.4.7)
pyparsing==2.2.1 is available (you have 2.2.1)
python-magic==0.4.15 is available (you have 0.4.15)
rivalcfg==3.1.0 is available (you have 3.1.0)
six==1.11.0 is available (you have 1.11.0)
bash ~
$ 

Setuptools ignored

On Windows Python 2.7.12 you get this peculiar output:

> pip list --outdated
cassandra-driver (3.4.0) - Latest: 3.7.0 [sdist]
setuptools (20.10.1) - Latest: 28.6.1 [wheel]

> pip-review
)assandra-driver==3.7.0 is available (you have 3.4.0

I then proceeded to successfully update cassandra-driver, but it doesn't appear to be able to see setuptools at all.

>pip list --outdated
setuptools (20.10.1) - Latest: 28.6.1 [wheel]

>pip-review
Everything up-to-date

pip-review does not find updates, pip list --outdated does

$ pip2 list --outdated                                                                                                                                                           
arrow (0.8.0) - Latest: 0.10.0 [sdist]
beets (1.3.19) - Latest: 1.4.1 [sdist]
cheat (2.1.26) - Latest: 2.1.27 [sdist]
Cython (0.25.1) - Latest: 0.25.2 [wheel]
[...]

$ pip-review
Everything up-to-date

$ python2 -m pip_review
Everything up-to-date

$ pip2 show pip_review                                                                                                                                                            
Name: pip-review
Version: 0.5
[...]
Location: /usr/local/lib/python2.7/site-packages
Requires: packaging

$ pip2 --version
pip 9.0.1 from /usr/local/lib/python2.7/site-packages (python 2.7)

$ uname -rs
Darwin 16.1.0

This happens with Python 2.7.12, the builtin version of macOS and with Python 3.6.0rc1 as well.

As a workaround I've used: pip2 list --outdated|cut -d' ' -f1|xargs pip2 install --upgrade.
If you want it to be interactive you could do something like pip2 list --outdated|vipe|cut -d' ' -f1|xargs pip2 install --upgrade.

Q: Is it planned to merge this into pip? (A: not for the time being)

Hey, I like the idea but don't like to install another package. Instead I would like to see this functionality in native pip. Do you plan to make a pull request?

It would be cool if pip list output would look like:

Package                    Version     Update
                           installed   available
-------------------------- --------    --------
pip                        9.0.1       10.0.0
pyrfc                      1.9.5
requests                   2.12.4
robotframework             3.0.1
robotframework-requests    0.4.6
robotframework-sap-library 0.0.1       1.0.0
setuptools                 32.3.1
wheel                      0.30.0a0

pip-review does not upgrade pip?

Pip gave me messages that it was out of date and continued after running pip-review --auto. Pip was updated after running pip install -U pip.

[Bug] Can not run pip-review on Windows with Python 3

Summary

I can not run command pip-review.

Expected behavior

I want automatically updates all my pip modules.

Actual behavior

E:\Chocolatey>pip-review
"pip-review" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.

Steps to reproduce

I read in Stack Overflow answer, what I can update all my pip modules use pip-review. I install pip-reviewpip install pip-review, I restart my Windows → I run pip-review, but I get error.

Environment

Operating system and version:
Windows 10.0.14393
Python
3.5.2
Pip
8.1.2
Pip-review
0.4

Thanks.

broken on local installed package

how to recreate the bug;

  • install package from local folder.
  • run pip-review (i run this way `python3 -m pip_review)
  • pip-review report error and and paused indefinitely. user have to press ctrl-c to stop the program. see below for error message.

pip-review version 0.5.3 (no pip-review --version?) on .Python 3.5.2+

Linux q-N-a 4.7.10-040710-generic #201610220847 SMP Sat Oct 22 13:04:07 UTC 2016 i686 i686 i686 GNU/Linux

error message:

Error when trying to get requirement for VCS system Command "git config --get-regexp remote\..*\.url" failed with error code 1 in /home/my_username/Downloads/my_python_module, falling back to uneditable format
Could not determine repository location of /home/my_username/Downloads/my_python_module

the folder is exist and can be accessed.

Integrate with changelogs

Here's a feature request: what about integrating with changelogs, so that you can see a list of recent changes before accepting or rejecting an upgrade?

If this sounds like a good idea, I may spend some time trying to write it.

Version 1.0 crashes

Ubuntu 17.10, Python 3.6.3, pip 9.0.1

Exception:
Traceback (most recent call last):
File "/home/gleb/.virtualenvs/dev/lib/python3.6/site-packages/pip/basecommand.py", line 215, in main
status = self.run(options, args)
File "/home/gleb/.virtualenvs/dev/lib/python3.6/site-packages/pip/commands/list.py", line 157, in run
packages = self.get_outdated(packages, options)
File "/home/gleb/.virtualenvs/dev/lib/python3.6/site-packages/pip/commands/list.py", line 168, in get_outdated
dist for dist in self.iter_packages_latest_infos(packages, options)
File "/home/gleb/.virtualenvs/dev/lib/python3.6/site-packages/pip/commands/list.py", line 169, in
if dist.latest_version > dist.parsed_version
TypeError: '>' not supported between instances of 'Version' and 'SetuptoolsVersion'
Traceback (most recent call last):
File "/home/gleb/.virtualenvs/dev/bin/pip-review", line 11, in
sys.exit(main())
File "/home/gleb/.virtualenvs/dev/lib/python3.6/site-packages/pip_review/main.py", line 201, in main
outdated = get_outdated_packages(forwarded)
File "/home/gleb/.virtualenvs/dev/lib/python3.6/site-packages/pip_review/main.py", line 185, in get_outdated_packages
output = check_output(command).decode('utf-8')
File "/usr/lib/python3.6/subprocess.py", line 336, in check_output
**kwargs).stdout
File "/usr/lib/python3.6/subprocess.py", line 418, in run
output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command '['/home/gleb/.virtualenvs/dev/bin/python3', '-m', 'pip', 'list', '--outdated', '--disable-pip-version-check', '--format=json']' returned non-zero exit status 2.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.