No module named pip.req

后端 未结 6 1606
轮回少年
轮回少年 2020-12-04 13:56

I am installing tweepy, but I am running into an error about pip.req. I have pip installed, but for some reason pip.req still can\'t be found. I did a bunch of research onl

相关标签:
6条回答
  • 2020-12-04 14:29

    Instead of importing the function and potentially encountering more issues replace the contents of the setup.py with the following:

    #!/usr/bin/env python
    #from distutils.core import setup
    import re, uuid
    from setuptools import setup, find_packages
    
    def parse_requirements(filename):
        """ load requirements from a pip requirements file """
        lineiter = (line.strip() for line in open(filename))
        return [line for line in lineiter if line and not line.startswith("#")]
    
    
    VERSIONFILE = "tweepy/__init__.py"
    ver_file = open(VERSIONFILE, "rt").read()
    VSRE = r"^__version__ = ['\"]([^'\"]*)['\"]"
    mo = re.search(VSRE, ver_file, re.M)
    
    if mo:
        version = mo.group(1)
    else:
        raise RuntimeError("Unable to find version string in %s." % (VERSIONFILE,))
    
    install_reqs = parse_requirements('requirements.txt')
    reqs = install_reqs
    
    setup(name="tweepy",
          version=version,
          description="Twitter library for python",
          license="MIT",
          author="Joshua Roesslein",
          author_email="tweepy@googlegroups.com",
          url="http://github.com/tweepy/tweepy",
          packages=find_packages(exclude=['tests']),
          install_requires=reqs,
          keywords="twitter library",
          classifiers=[
              'Development Status :: 4 - Beta',
              'Topic :: Software Development :: Libraries',
              'License :: OSI Approved :: MIT License',
              'Operating System :: OS Independent',
              'Programming Language :: Python',
              'Programming Language :: Python :: 2',
              'Programming Language :: Python :: 2.6',
              'Programming Language :: Python :: 2.7',
              'Programming Language :: Python :: 3',
              'Programming Language :: Python :: 3.3',
              'Programming Language :: Python :: 3.4',
          ],
          zip_safe=True)
    

    Notice the session argument has been removed from the parse_requirements call.

    0 讨论(0)
  • 2020-12-04 14:32

    It looks like it would work if you had this code:

    def parse_requirements(filename):
        """ load requirements from a pip requirements file """
        lineiter = (line.strip() for line in open(filename))
        return [line for line in lineiter if line and not line.startswith("#")]
    

    Do this:

    1. create a directory pip/
    2. add an empty file pip/__init__.py
    3. add a file pip/req.py
    4. put the code above into pip/req.py:
    5. modify the line in setup.py

      reqs = install_reqs

    0 讨论(0)
  • 2020-12-04 14:35

    I had a very similar problem with Python 3.7 + pip 18.0:

    Traceback (most recent call last):
      File "/usr/local/bin/pip-compile", line 7, in <module>
        from piptools.scripts.compile import cli
      File "/usr/local/lib/python3.7/site-packages/piptools/scripts/compile.py", line 11, in <module>
        from pip.req import InstallRequirement, parse_requirements
    ModuleNotFoundError: No module named 'pip.req'
    

    The solution was to upgrade pip-tools from 1.10 to 2.0:

    pip install -U pip-tools
    
    0 讨论(0)
  • 2020-12-04 14:48

    This is happening lately because of a change in pip 10.

    The fix is pretty easy. You probably have something like:

    from pip.req import parse_requirements
    

    Change that to something like:

    try: # for pip >= 10
        from pip._internal.req import parse_requirements
    except ImportError: # for pip <= 9.0.3
        from pip.req import parse_requirements
    

    That should do it.

    0 讨论(0)
  • 2020-12-04 14:50

    I downgraded to pip to 9.0.3 and things worked for me. Command for downgrading pip is

    python -m pip install pip==9.0.3
    
    0 讨论(0)
  • 2020-12-04 14:54

    I ran into same problem you have. To install pip you need to follow this https://pypi.python.org/pypi/setuptools once you get easy_install I installed pip first and then run the following command.

    sudo easy_install pip
    sudo python setup.py install
    

    easy.

    0 讨论(0)
提交回复
热议问题