installing ansible-2.0.0 or greater with setuptools-20.2.1 or greater gives this crash trace: $ ansible ERROR! Unexpected Exception: Invalid requirement, parse error at "'!= 2.4'" the full traceback was: Traceback (most recent call last): File "/usr/lib/python-exec/python2.7/ansible", line 75, in <module> from ansible.cli.adhoc import AdHocCLI as mycli File "/usr/lib64/python2.7/site-packages/ansible/cli/adhoc.py", line 28, in <module> from ansible.executor.task_queue_manager import TaskQueueManager File "/usr/lib64/python2.7/site-packages/ansible/executor/task_queue_manager.py", line 28, in <module> from ansible.executor.play_iterator import PlayIterator File "/usr/lib64/python2.7/site-packages/ansible/executor/play_iterator.py", line 29, in <module> from ansible.playbook.block import Block File "/usr/lib64/python2.7/site-packages/ansible/playbook/__init__.py", line 25, in <module> from ansible.playbook.play import Play File "/usr/lib64/python2.7/site-packages/ansible/playbook/play.py", line 27, in <module> from ansible.playbook.base import Base File "/usr/lib64/python2.7/site-packages/ansible/playbook/base.py", line 35, in <module> from ansible.parsing.dataloader import DataLoader File "/usr/lib64/python2.7/site-packages/ansible/parsing/dataloader.py", line 33, in <module> from ansible.parsing.vault import VaultLib File "/usr/lib64/python2.7/site-packages/ansible/parsing/vault/__init__.py", line 67, in <module> from cryptography.hazmat.primitives.hashes import SHA256 as c_SHA256 File "/usr/lib64/python2.7/site-packages/cryptography/hazmat/primitives/hashes.py", line 15, in <module> from cryptography.hazmat.backends.interfaces import HashBackend File "/usr/lib64/python2.7/site-packages/cryptography/hazmat/backends/__init__.py", line 7, in <module> import pkg_resources File "/usr/lib64/python2.7/site-packages/pkg_resources/__init__.py", line 2912, in <module> @_call_aside File "/usr/lib64/python2.7/site-packages/pkg_resources/__init__.py", line 2898, in _call_aside f(*args, **kwargs) File "/usr/lib64/python2.7/site-packages/pkg_resources/__init__.py", line 2925, in _initialize_master_working_set working_set = WorkingSet._build_master() File "/usr/lib64/python2.7/site-packages/pkg_resources/__init__.py", line 642, in _build_master ws.require(__requires__) File "/usr/lib64/python2.7/site-packages/pkg_resources/__init__.py", line 943, in require needed = self.resolve(parse_requirements(requirements)) File "/usr/lib64/python2.7/site-packages/pkg_resources/__init__.py", line 838, in resolve new_requirements = dist.requires(req.extras)[::-1] File "/usr/lib64/python2.7/site-packages/pkg_resources/__init__.py", line 2462, in requires dm = self._dep_map File "/usr/lib64/python2.7/site-packages/pkg_resources/__init__.py", line 2457, in _dep_map dm.setdefault(extra,[]).extend(parse_requirements(reqs)) File "/usr/lib64/python2.7/site-packages/pkg_resources/__init__.py", line 2762, in parse_requirements req = packaging.requirements.Requirement(line) File "/usr/lib64/python2.7/site-packages/packaging/requirements.py", line 94, in __init__ requirement_string[e.loc:e.loc + 8])) InvalidRequirement: Invalid requirement, parse error at "'!= 2.4'" Downgrading setuptools to 20.1.1 solved the issue. This appears to be an issue with setupools: https://bitbucket.org/pypa/setuptools/issues/499 Reproducible: Always Steps to Reproduce: 1. emerge >=app-admin/ansible-2.0.0 >=dev-python/setuptools-20.2.1 2. /usr/bin/ansible 3. Actual Results: Application crash Expected Results: Application should run
Portage 2.2.27 (python 2.7.11-final-0, default/linux/amd64/13.0/desktop/plasma, gcc-4.9.3, glibc-2.22-r2, 4.4.0-gentoo-r1 x86_64) ================================================================= System uname: Linux-4.4.0-gentoo-r1-x86_64-Intel-R-_Core-TM-_i7-4930MX_CPU_@_3.00GHz-with-gentoo-2.2 KiB Mem: 16408056 total, 2302604 free KiB Swap: 1048572 total, 751240 free Timestamp of repository gentoo: Sat, 27 Feb 2016 14:30:01 +0000 sh bash 4.3_p42-r2 ld GNU ld (Gentoo 2.25.1 p1.1) 2.25.1 app-shells/bash: 4.3_p42-r2::gentoo dev-java/java-config: 2.2.0-r3::gentoo dev-lang/perl: 5.22.1::gentoo dev-lang/python: 2.7.11-r2::gentoo, 3.4.3-r7::gentoo, 3.5.1-r2::gentoo dev-util/cmake: 3.4.3::gentoo dev-util/pkgconfig: 0.29::gentoo sys-apps/baselayout: 2.2::gentoo sys-apps/openrc: 0.20.5::gentoo sys-apps/sandbox: 2.10-r1::gentoo sys-devel/autoconf: 2.13::gentoo, 2.69-r1::gentoo sys-devel/automake: 1.11.6-r2::gentoo, 1.13.4-r1::gentoo, 1.14.1-r1::gentoo, 1.15-r2::gentoo sys-devel/binutils: 2.25.1-r1::gentoo sys-devel/gcc: 4.8.5::gentoo, 4.9.3::gentoo, 5.3.0::gentoo sys-devel/gcc-config: 1.8-r1::gentoo sys-devel/libtool: 2.4.6-r2::gentoo sys-devel/make: 4.1-r1::gentoo sys-kernel/linux-headers: 4.4::gentoo (virtual/os-headers) sys-libs/glibc: 2.22-r2::gentoo Repositories: gentoo location: /var/portage sync-type: rsync sync-uri: rsync://rsync.gentoo.org/gentoo-portage priority: -1000 daktak location: /var/lib/layman/daktak sync-type: laymansync sync-uri: https://github.com/daktak/gentoo.git masters: gentoo priority: 50 splog-gentoo location: /var/lib/layman/splog-gentoo sync-type: laymansync sync-uri: https://github.com/splog123/splog-gentoo.git masters: gentoo priority: 50 Installed sets: @alan-fonts, @alan-gkrellm, @alan-kde, @alan-kde-apps, @alan-tools, @msjnc ACCEPT_KEYWORDS="amd64 ~amd64" ACCEPT_LICENSE="* -@EULA dlj-1.1 sun-bcla-java-vm skype-eula PUEL googleearth google-talkplugin AdobeFlash-10 AdobeFlash-10.1" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=native -O2 -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/lib64/libreoffice/program/sofficerc /usr/share/config /usr/share/gnupg/qualified.txt /usr/share/themes/oxygen-gtk/gtk-2.0 /usr/share/themes/oxygen-gtk/gtk-3.0 /var/rancid/.cloginrc" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo" CXXFLAGS="-march=native -O2 -pipe" DISTDIR="/var/distfiles" EMERGE_DEFAULT_OPTS="--jobs=4 --load-average=4 --with-bdeps=y --autounmask=n --dynamic-deps=n" FCFLAGS="-O2 -pipe" FEATURES="assume-digests binpkg-logs buildsyspkg collision-protect config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync metadata-transfer news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr" FFLAGS="-O2 -pipe" GENTOO_MIRRORS="/mnt/distfiles/ ftp://ftp.is.co.za/mirror/gentoo.org/ http://distfiles.gentoo.org" LANG="en_ZA.utf8" LDFLAGS="-Wl,-O1 -Wl,--as-needed" MAKEOPTS="-j4 -l4" PKGDIR="/var/packages" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git" PORTAGE_TMPDIR="/var/tmp" USE="X a52 aac aalib acl acpi adns aes alsa amd64 ao apache2 archive audiofile avahi avx avx2 bash-completion berkdb bittorrent bluetooth bluray branding bzip2 cairo cdda cddb cdr cli consolekit cracklib crypt cups curl curlwrappers cvs cxx dbus dbx declarative device-mapper dga dirac djvu dri dts dv dvb dvd dvdr emotion encode evo exif expat ffmpeg flac fma3 fontconfig fortran freetds ftp fuse gallium gd gdbm gif gimp glamor glib gnome-keyring gpm graphviz gs gstreamer gtk handbook iconv icu id3tag ieee1394 imagemagick imap innodb introspection ipc ipod iproute2 ipv6 jabber javascript jbig jce jpeg jpeg2k kde keyring kipi lame lcms lesstif libass libc_glibc libcaca libnotify libsamplerate libv4l libwww lm_sensors lua lzma mad maildir man matroska mbox milter mime mms mmx mmxext mng modules mp3 mp3tunes mp4 mpeg mplayer mtp multilib musepack musicbrainz mysql mysqli ncurses netboot network networkmanager nfs nls nptl nsplugin ntp odbc offensive ogg openexr opengl openmp openssl openvpn opus pam pango passwordsave pch pcre pdf perl phonon plasma plotutils png policykit popcnt posix postscript ppds pppd projectm pulseaudio qml qt3support qt5 quicktime raw readline reflection resolvconf rtmp samba sasl savedconfig scanner schroedinger scripting sdl seccomp semantic-desktop session slp smi sms solver sound speex spell sql sqlite sqlite3 sse sse2 sse3 sse4_1 sse4_2 ssl ssse3 startup-notification subversion svg symlink syslog sysvipc taglib tbb testbed theora threads thumbnail tidy tiff truetype udev udf udisks unicode upnp upower usb utempter v4l vaapi vcd video vim-syntax vlc vnc vorbis vpx wavpack webkit webp widgets wifi win32codecs wma wmf x264 xattr xcb xcomposite xinerama xml xorg xpm xrandr xrender xscreensaver xv xvid xvmc zeroconf zip zlib" ABI_X86="64" ALSA_CARDS="hda-intel" APACHE2_MODULES="actions alias auth_basic auth_digest authn_anon authn_dbd authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock dbd deflate dir disk_cache env expires ext_filter file_cache filter headers ident imagemap include info log_config logio mem_cache mime mime_magic negotiation proxy proxy_ajp proxy_connect proxy_http rewrite setenvif so speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="author braindump flow karbon kexi krita sheets stage words" CAMERAS="adc65 agfa_cl20 aox ax203 barbie canon casio_qv clicksmart310 digigr8 digita dimagev dimera3500 directory enigma13 fuji gsmart300 hp215 iclick jamcam jd11 jl2005a kodak_dc120 kodak_dc210 kodak_dc240 kodak_dc3200 kodak_ez200 konica konica_qm150 largan lg_gsm mars mustek panasonic_coolshot panasonic_dc1000 panasonic_dc1580 panasonic_l859 pccam300 pccam600 polaroid_pdc320 polaroid_pdc640 polaroid_pdc700 ptp2 ricoh ricoh_g3 samsung sierra sipix_blink sipix_blink2 sipix_web2 smal sonix sony_dscf1 sony_dscf55 soundvision spca50x sq905 st2205 stv0674 stv0680 sx330z template topfield toshiba_pdrm11" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="aes avx avx2 fma3 mmx mmxext popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ublox ubx" GRUB_PLATFORMS="pc" INPUT_DEVICES="evdev synaptics" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="en en_GB en_US en_ZA" NETBEANS_MODULES="cnd php webcommon" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-5" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_4" QEMU_SOFTMMU_TARGETS="i386 x86_64" QEMU_USER_TARGETS="i386 x86_64" RUBY_TARGETS="ruby20 ruby21 ruby22 ruby23" SANE_BACKENDS="epson epson2" USERLAND="GNU" VIDEO_CARDS="intel i965" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account" Unset: CC, CPPFLAGS, CTARGET, CXX, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON
Do you mind reporting this upstream? https://github.com/ansible/ansible/issues
can you test with 2.0.2.0 and/or 9999?
Thanks for the help. I tested and can confirm that ansible-2.0.2.0 installs without error on all versions >dev-python/setuptools-20.1.1 in the tree today. setuptools versions tested: 20.2.2 20.3.1 20.6.7
I think this is the issue. https://github.com/pypa/packaging/issues/65 Can you try installing the latest version of packaging (16.6 atm).
I don't have packaging installed (don't even know what it's for). But it does install here without problem followed by successful install of latest pysetuptools and ansible.
Ok, just to be clear, if I add packaging as a dep of ansible then we are good?
Sure, I don't see a problem with that.
fixed :D