Uploaded image for project: 'Data: Open States & Open Civic Data'
  1. DATA-579

jira python module broken due to six.moves.urllib.parse module not present

    Details

    • Type: Bug
    • Status: Open
    • Priority: Normal
    • Resolution: Unresolved
    • Components: None
    • Labels:
      None
    • Sprint:

      Description

      Installing the python jira module with Python 2.7.2

      Pip installation as follows:
      Collecting jira
      Using cached jira-1.0.8-py2.py3-none-any.whl
      Requirement already satisfied: setuptools>=20.10.1 in /opt/zenoss/lib/python2.7/site-packages (from jira)
      Requirement already satisfied: requests-oauthlib>=0.6.1 in /opt/zenoss/lib/python2.7/site-packages (from jira)
      Requirement already satisfied: requests-toolbelt in /opt/zenoss/lib/python2.7/site-packages/requests_toolbelt-0.7.0-py2.7.egg (from jira)
      Requirement already satisfied: six>=1.10.0 in /opt/zenoss/lib/python2.7/site-packages (from jira)
      Requirement already satisfied: defusedxml in /opt/zenoss/lib/python2.7/site-packages (from jira)
      Requirement already satisfied: argparse; python_version < "3.2" in /opt/zenoss/lib/python2.7/site-packages (from jira)
      Requirement already satisfied: ordereddict; python_version < "3.1" in /opt/zenoss/lib/python2.7/site-packages (from jira)
      Requirement already satisfied: pbr in /opt/zenoss/lib/python2.7/site-packages (from jira)
      Requirement already satisfied: requests>=2.10.0 in /opt/zenoss/lib/python2.7/site-packages (from jira)
      Requirement already satisfied: oauthlib>=0.6.2 in /opt/zenoss/lib/python2.7/site-packages (from requests-oauthlib>=0.6.1->jira)
      Installing collected packages: jira
      Successfully installed jira-1.0.8

      Installed versions of six and jira;

      $ pip freeze | egrep 'six|jira'
      jira==1.0.8
      six==1.10.0

      OS is Centos 6.4
      $ cat /etc/redhat-release
      CentOS release 6.4 (Final)

      When importing the python jira module, the following ImportError is presented;

      $ python
      Python 2.7.2 (default, Mar 11 2014, 16:52:22)
      [GCC 4.4.4 20100726 (Red Hat 4.4.4-13)] on linux2
      Type "help", "copyright", "credits" or "license" for more information.
      >>> import jira
      Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
      File "/opt/zenoss/lib/python2.7/site-packages/jira/_init_.py", line 10, in <module>
      from jira.client import Comment # noqa: E402
      File "/opt/zenoss/lib/python2.7/site-packages/jira/client.py", line 43, in <module>
      from six.moves.urllib.parse import urlparse
      ImportError: No module named urllib.parse

      The module six.moves is present, however the module six.moves.urllib isn't available.

      The six python module is the latset version;
      $ pip install --upgrade six
      /opt/zenoss/lib/python2.7/site-packages/pip/vendor/requests/packages/urllib3/util/ssl.py:318: SNIMissingWarning: An HTTPS request has been made, but the SNI (Subject Name Indication) extension to TLS is not available on this platform. This may cause the server to present an incorrect TLS certificate, which can cause validation failures. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/security.html#snimissingwarning.
      SNIMissingWarning
      /opt/zenoss/lib/python2.7/site-packages/pip/vendor/requests/packages/urllib3/util/ssl.py:122: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/security.html#insecureplatformwarning.
      InsecurePlatformWarning
      Requirement already up-to-date: six in /opt/zenoss/lib/python2.7/site-packages

      I found this item on StackOverflow which suggests problems with six and requests installed;
      http://stackoverflow.com/questions/34667533/weird-issue-with-python-six-cannot-import-urllib

      Checking the version of requests;
      $ pip freeze | grep requests
      requests==2.11.1

      Upgrading version of requests;
      $ pip install --upgrade requests
      /opt/zenoss/lib/python2.7/site-packages/pip/vendor/requests/packages/urllib3/util/ssl.py:318: SNIMissingWarning: An HTTPS request has been made, but the SNI (Subject Name Indication) extension to TLS is not available on this platform. This may cause the server to present an incorrect TLS certificate, which can cause validation failures. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/security.html#snimissingwarning.
      SNIMissingWarning
      /opt/zenoss/lib/python2.7/site-packages/pip/vendor/requests/packages/urllib3/util/ssl.py:122: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/security.html#insecureplatformwarning.
      InsecurePlatformWarning
      Collecting requests
      Downloading requests-2.12.5-py2.py3-none-any.whl (576kB)
      100% |████████████████████████████████| 583kB 1.2MB/s
      Installing collected packages: requests
      Found existing installation: requests 2.11.1
      Uninstalling requests-2.11.1:
      Successfully uninstalled requests-2.11.1
      Successfully installed requests-2.12.5

      Still the same problem with importing jira however;
      >>> import jira
      Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
      File "/opt/zenoss/lib/python2.7/site-packages/jira/_init_.py", line 10, in <module>
      from jira.client import Comment # noqa: E402
      File "/opt/zenoss/lib/python2.7/site-packages/jira/client.py", line 43, in <module>
      from six.moves.urllib.parse import urlparse
      ImportError: No module named urllib.parse

      Looking on the OS, it seems that the six module is in a bit of a state, but the six.moves.urllib.parse module is there;

      $ grep /opt/zenoss/lib/python2.7/site-packages/six.moves.urllib.parse six.py
      six.py:class Module_six_moves_urllib_parse(_LazyModule):

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              Anonymous
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated: