simplejson requirement not documented

Bug #298908 reported by Robert Collins on 2008-11-17
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
launchpadlib
Low
Unassigned

Bug Description

Following https://help.launchpad.net/API/launchpadlib, but running from source I get
>>> from launchpadlib.launchpad import Launchpad, STAGING_SERVICE_ROOT
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "launchpadlib/launchpad.py", line 26, in <module>
    import simplejson
ImportError: No module named simplejson
>>>

setup.py does include a reference to simplejson, but thats not obvious to folk reading README.txt or the web page.

(In case you are wondering why I don't just run setup.py - your setup.py uses ez_setup, which is plain evil, so it doesn't get run).

Leonard Richardson (leonardr) wrote :

Seems like you buried the lede. If you're not using the install procedure because ez_setup is plain evil, your bug report should be "ez_setup is plain evil, do not use."

Since you filed this bug, launchpadlib was changed to use zc.buildout, which added more dependencies. It's about to be refactored to depend on lazr.restfulclient, which will add more. Avoiding the install procedure won't really be an option. I don't know the details, but setup.py is still part of the package even though we use zc.buildout, and ez_setup is still used in setup.py. If you can provide some more details or a link about the evil of ez_setup, I bet Gary can take a look.

Changed in launchpadlib:
assignee: nobody → Robert Collins (lifeless)
Changed in launchpadlib:
status: New → Incomplete
Robert Collins (lifeless) wrote :

So, ez_setup downloads arbitrary code from the internet without checking gpg signatures etc. Thats the evil bit.

Changed in launchpadlib:
assignee: Robert Collins (lifeless) → nobody
status: Incomplete → New
status: New → Triaged
importance: Undecided → Low
Robert Collins (lifeless) wrote :

That said,the point is about clear documentation of dependencies.

Jonathan Lange (jml) wrote :

`pip install launchpadlib` installs launchpadlib but does not install simplejson. Workaround is to `pip install simplejson`. This slowed down a release of testtools to fix #1488710.

Sean M. Collins (scollins) wrote :

Just hit this. Frustrating.

Maarten (madebr) wrote :

Hit by this ImportError as well.

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers