¿Cómo instalo los paquetes de patrones en Python 3.5?

¿Cómo instalo los paquetes de patrones en Python 3.5?

Mientras que en CMD:

pip install pattern syntaxerror: missing parentheses in call to 'print' 

Muestra error:

 messageCommand "python setup.py egg_info" failed with error code 1 in temp\pip-build-3uegov4d\pattern 

seaborn y tweepy fueron exitosos.

¿Como puedó resolver esté problema?

pip instalar pattern3 – Python 3.x

patrón de instalación de pip – Python 2.7.x

Parece que a partir de la documentación que, para Python 3, el patrón solo se admite en 3.6 y superiores. https://github.com/clips/pattern#installation

Esto me funcionó para obtener pattern.en trabajando en python 3.6 :

 git clone -b development https://github.com/clips/pattern cd pattern sudo python3.6 setup.py install 

https://github.com/clips/pattern/issues/62

Tuve algunos errores de SSL durante la instalación en mi mac (10.11.6) que se corrigieron al ejecutar este código en python (3.6):

 import nltk import ssl try: _create_unverified_https_context = ssl._create_unverified_context except AttributeError: pass else: ssl._create_default_https_context = _create_unverified_https_context nltk.download('wordnet_ic') 

al parecer, hay una mejor manera de lidiar con cosas ssl como esta fwiw: https://stackoverflow.com/a/41351871/8870055

prueba de cordura:

 user@USDR00253 ~> python3.6 Python 3.6.4 (v3.6.4:d48ecebad5, Dec 18 2017, 21:07:28) [GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> >>> from pattern.en import conjugate, lemma, lexeme, parse >>> >>> print(parse('ridden', relations=True, lemmata=True)) ridden/VBN/B-VP/O/O/ride >>> 

pattern.en finalmente corriendo en python 3!

En el momento de la escritura, el soporte de Python 3.6 todavía no está fusionado con el maestro. Sin embargo, está disponible en la twig python3.

Para instalar via pip:

 pip install https://github.com/clips/pattern/archive/python3.zip 

Tenga en cuenta que la respuesta de ThReSholD para Python 3 (pattern3) es para:

repository obsoleto de pattern3 que contiene una base de código completamente diferente que ya no se mantiene

La respuesta corta en este momento es: no puedes. Todavía no han terminado el puerto para python3.

Existe una supuesta compatibilidad en la twig de desarrollo, pero la configuración manual recomendada no me funcionó (en virtualenv); falla de una manera diferente. https://github.com/clips/pattern/tree/development

El tema de portabilidad está aquí, de 2013 a ayer: https://github.com/clips/pattern/issues/62

El repository oficial de contribuciones A está aquí, pero aún no ha finalizado (el archivo Léame indica que no hay compatibilidad con Python3). https://github.com/pattern3/pattern

Por lo tanto, puede intentar pip install pattern3 que lo instala, pero tiene un nombre de paquete diferente, por lo que tendría que modificar cualquier referencia al mismo. Para mí esto es “imposible”, ya que lo requieren otros paquetes de terceros como GenSim.

ACTUALIZAR

Al final lo conseguí trabajando en Python3 con Gensim, instalándolo manualmente desde la twig de desarrollo como se sugirió y solucionando algunos problemas tanto durante la instalación como durante la ejecución. (Eliminé la dependencia mysql-client ya que el instalador no está funcionando en Mac. Descargué manualmente los certificados para el corpus wordnet NTLK, para corregir un error de SSL en la configuración. También corregí un par de scripts que estaban fallando, por ejemplo una cláusula vacía ‘try’ en tree.py). Tiene un gran conjunto de dependencias!

Después de leer más sobre la actividad del puerto, parece que están casi terminados y deberían lanzarse en unos pocos meses (quizás a principios de 2018). Además, el repository de pattern3 es más un “amigo” que el fork oficial de Python3. Ya han llevado los cambios de este colaborador al repository principal y se están preparando para que se publique.

Por lo tanto, debería estar disponible en pip en el paquete de pattern principal (no el patrón 3 que presumo se eliminará), y no debería haber problemas de cambio de nombre de paquete.

En la actualización de Python 2.x a 3.x, la statement de impresión se convirtió en una llamada de función en lugar de una palabra clave. Lo que solía ser la línea de print "Hello world!" Ahora es la línea de print("Hello world!") . Entonces, todo el código escrito para 2.x que se imprime en la consola no funciona en la versión 3.x, ya que el comstackdor produce un error de tiempo de ejecución en la statement de impresión.

En realidad, solo hay dos soluciones para este problema: use la versión 2.x en su lugar, o busque una biblioteca creada para la versión 3.x.

Además, me enfrentaba a:

 "BadZipFile: File is not a zip file" error while importing from pattern. 

Esto se debe a que sentiwordnet está desactualizado en nltk. Así que coméntalo en:

 C:\Anaconda3\Lib\site-packages\Pattern-2.6-py3.5.egg\pattern\text\en\wordnet\_init.py 

Asegúrese de que los corpus necesarios se descarguen en la unidad local para el token en (“wordnet”, “wordnet_ic”):, “sentiwordnet”

tratar:

 nltk.data.find("corpora/" + token)