from click import commands: ImportError: cannot import name 'commands'

Bug #1486841 reported by makatekob@yahoo.com
206
This bug affects 43 people
Affects Status Importance Assigned to Milestone
click (Ubuntu)
Fix Released
High
Colin Watson

Bug Description

Fails on startup

ProblemType: Package
DistroRelease: Ubuntu 15.04
Package: click-apparmor 0.3.8
ProcVersionSignature: Ubuntu 3.19.0-25.26-generic 3.19.8-ckt2
Uname: Linux 3.19.0-25-generic x86_64
NonfreeKernelModules: wl
ApportVersion: 2.17.2-0ubuntu1.2
Architecture: amd64
Date: Wed Aug 19 13:58:31 2015
DuplicateSignature: package:click-apparmor:0.3.8:subprocess installed post-installation script returned error exit status 1
ErrorMessage: subprocess installed post-installation script returned error exit status 1
InstallationDate: Installed on 2015-07-19 (31 days ago)
InstallationMedia: Ubuntu 15.04 "Vivid Vervet" - Release amd64 (20150422)
RelatedPackageVersions:
 dpkg 1.17.25ubuntu1
 apt 1.0.9.7ubuntu4.1
SourcePackage: click-apparmor
Title: package click-apparmor 0.3.8 failed to install/upgrade: subprocess installed post-installation script returned error exit status 1
UpgradeStatus: No upgrade log present (probably fresh install)

Revision history for this message
makatekob@yahoo.com (makatekob) wrote :
tags: removed: need-duplicate-check
Revision history for this message
Steve Beattie (sbeattie) wrote :

From the DpkgTerminalLog, the problem looks to be:

Setting up click (0.4.38.5) ...
Traceback (most recent call last):
  File "/usr/bin/click", line 31, in <module>
    from click import commands
ImportError: cannot import name 'commands'
dpkg: error processing package click (--configure):
 subprocess installed post-installation script returned error exit status 1

which implies the python3-click package is not installed.

affects: click-apparmor (Ubuntu) → click (Ubuntu)
Revision history for this message
Steve Beattie (sbeattie) wrote :

The click-apparmor package failed with the same python traceback, because it invoked click.

summary: - package click-apparmor 0.3.8 failed to install/upgrade: subprocess
- installed post-installation script returned error exit status 1
+ from click import commands: ImportError: cannot import name 'commands'
Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in click (Ubuntu):
status: New → Confirmed
Changed in click (Ubuntu):
importance: Undecided → High
Revision history for this message
Raymond Wan (rwan) wrote :

Problem also exists in click (0.4.39.1+15.10.20150702-0ubuntu2) on Ubuntu 15.10 :

-----
$ sudo apt-get install click
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
  click
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B/14.1 kB of archives.
After this operation, 86.0 kB of additional disk space will be used.
Selecting previously unselected package click.
(Reading database ... 407814 files and directories currently installed.)
Preparing to unpack .../click_0.4.39.1+15.10.20150702-0ubuntu2_amd64.deb ...
Unpacking click (0.4.39.1+15.10.20150702-0ubuntu2) ...
Processing triggers for shared-mime-info (1.3-1) ...
Unknown media type in type 'all/all'
Unknown media type in type 'all/allfiles'
Processing triggers for man-db (2.7.4-1) ...
Processing triggers for ureadahead (0.100.0-19) ...
Setting up click (0.4.39.1+15.10.20150702-0ubuntu2) ...
Traceback (most recent call last):
  File "/usr/bin/click", line 31, in <module>
    from click import commands
ImportError: cannot import name 'commands'
dpkg: error processing package click (--configure):
 subprocess installed post-installation script returned error exit status 1
Processing triggers for ureadahead (0.100.0-19) ...
Errors were encountered while processing:
 click
E: Sub-process /usr/bin/dpkg returned an error code (1)

$ click
Traceback (most recent call last):
  File "/usr/bin/click", line 31, in <module>
    from click import commands
ImportError: cannot import name 'commands'
-----

Tried on more than one Ubuntu 15.10 system. Works on some; doesn't work on one of them. I guess some combination of packages that I have is causing it.

Already tried "apt-get install --reinstall" on python, python3, and python3-click . Even removed everything in /usr/local/lib/python* , thinking they might be conflicting somehow.

Revision history for this message
Colin Watson (cjwatson) wrote :

Perhaps somebody could run:

  strace -f -o click.trace -s 1024 click

... and attach the resulting click.trace file to this bug? It might be possible to work out the problem from that.

Changed in click (Ubuntu):
status: Confirmed → Incomplete
Revision history for this message
Raymond Wan (rwan) wrote :

Colin,

Thank you for the suggestion! I generated the strace output as you suggested [see attached file] and looked through it before attaching it. I realized it was looking in my ~/.local/ directory. So, I guessed [I only know some Python...not too knowledgeable about it] renaming ~/.local/lib/python3.4/ might help and indeed it worked and click installed successfully.

Of course, I don't know if it will solve other people's problems, but it solved mine. Hopefully the attached strace output can help you come up with a better solution for others?

I'm not too sure what I've broken by renaming that directory...I guess as it's local to my home directory, it should be fine.

Thank you!

Revision history for this message
Colin Watson (cjwatson) wrote :

Right, there's an unfortunate name clash with an entirely different Python package called "click" and it looks like you had the latter installed in your home directory. A better workaround would probably be "pip3 uninstall click".

I've committed a patch for our next release to take evasive action in this case.

Changed in click (Ubuntu):
status: Incomplete → Fix Committed
assignee: nobody → Colin Watson (cjwatson)
Revision history for this message
Colin Watson (cjwatson) wrote :

Thanks for the strace output to confirm this!

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package click - 0.4.41+16.04.20151211-0ubuntu1

---------------
click (0.4.41+16.04.20151211-0ubuntu1) xenial; urgency=medium

  [ Colin Watson ]
  * Fix spurious test_sync_without_user_db test failure.
  * Fix test failures under Python 2.
  * Forbid installing packages with data tarball members whose names do not
    start with "./" (LP: #1506467).
  * Take evasive action in case the conflicting "click" package has been
    installed locally from PyPI (LP: #1486841).
  * Drop use of apt_pkg from click.install, since it's no longer needed
    there (LP: #1510015).

  [ Dimitri John Ledkov ]
  * Require specific Click version, to avoid gi warnings that fail
    test-suite (LP: #1522608).
  * Set Vcs-* fields to the actual development branch.

  [ CI Train Bot ]
  * No-change rebuild.

 -- Colin Watson <email address hidden> Fri, 11 Dec 2015 01:31:29 +0000

Changed in click (Ubuntu):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.