python - descargar tweets con tweepy
Ningún módulo llamado pip.req (6)
Bajé a pip a 9.0.3 y las cosas funcionaron para mí. El comando para degradar pip es
python -m pip install pip==9.0.3
Estoy instalando tweepy, pero me encuentro con un error sobre pip.req. Tengo pip instalado, pero por alguna razón todavía no se puede encontrar pip.req. Hice un montón de investigación en línea y lo más que pude encontrar fue un problema relacionado con las incompatibilidades entre zapo (?) Y python 2.7 que causaba el mismo error para otro usuario. Sin embargo, la discusión no estuvo clara sobre cómo resolver el problema. ¡Gracias!
$ python2 setup.py install
Traceback (most recent call last):
File "setup.py", line 5, in <module>
from pip.req import parse_requirements
ImportError: No module named pip.req
En lugar de importar la función y potencialmente encontrar más problemas, reemplace el contenido de setup.py por lo siguiente:
#!/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="[email protected]",
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)
Observe que el argumento de la sesión se ha eliminado de la llamada parse_requirements.
Esto está sucediendo últimamente debido a un cambio en el pip 10.
La solución es bastante fácil. Probablemente tengas algo así como:
from pip.req import parse_requirements
Cambia esto a algo como:
try: # for pip >= 10
from pip._internal.req import parse_requirements
except ImportError: # for pip <= 9.0.3
from pip.req import parse_requirements
Deberias hacer eso.
Me encontré con el mismo problema que tienes. Para instalar pip, debe seguir este https://pypi.python.org/pypi/setuptools una vez que obtenga easy_install. Instalé primero pip y luego ejecuto el siguiente comando.
sudo easy_install pip
sudo python setup.py install
fácil.
Parece que funcionaría si tuviera este código:
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("#")]
Hacer esto:
- crear un directorio
pip/
- agregue un archivo vacío
pip/__init__.py
- agregue un archivo
pip/req.py
- pon el código de arriba en
pip/req.py
: modificar la línea en
setup.py
reqs = install_reqs
Tuve un problema muy similar con 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''
La solución fue actualizar las herramientas de pip de 1.10 a 2.0:
pip install -U pip-tools