Пакет "шаблон" для Python 3.6 Анаконда

У меня на компьютере установлена ​​среда Anaconda для Python 3.6. Когда я пытаюсь установить пакетный шаблон через pip, он выдает ошибку, сообщающую что-то вроде

круглые скобки вокруг печати n

Потом я попробовал conda install -c asmeurer pattern=2.5; так же как conda install -c asmeurer pattern, Это говорит

UnsatisfiableError: Были обнаружены конфликты следующих спецификаций: - pattern -> python 2.7* - python 3.6*"

Наконец, я узнал, что Python 3 не имеет паттерна напрямую.

Итак, я попытался скачать шаблон zip с http://www.clips.ua.ac.be/pattern. Теперь, когда я побежал python ./setup.py install, Это снова дает ошибки, связанные с круглыми скобками вокруг печати

Я перепробовал почти все, но не смог установить шаблон пакета в моей среде Python 3.6 Anaconda. Может кто-нибудь, пожалуйста, помогите мне здесь, какое-то решение для этого?

2 ответа

Я установил PIP с Conda

conda install pip

а затем установил Pattern с

pip install Pattern3

это сработало:)

Я не уверен, как это относится к Anaconda, но это помогло мне заставить pattern.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

У меня были некоторые ошибки SSL во время установки на моем mac (10.11.6), которые были исправлены при запуске этого кода в 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')

по-видимому, есть лучший способ справиться с ssl-вещами вроде этого: /questions/28310300/oshibka-ssl-pri-zagruzke-dannyih-nltk/28310303#28310303

санитарная проверка:

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 наконец работает в python3!

Используя подсистему Windows для Linux, я сделал шаблон для работы с miniconda в Python 3.7:

conda create -n test -c conda-forge python=3.7 pattern
conda activate test

Я обнаружил, что есть ошибка StopInteration из-за PEP-479, и замена raise StopIteration с return в pattern\text\__init__.py исправляет это.

Чтобы найти местоположение файла, я выполнил

cd $(python -c "from distutils.sysconfig import get_python_lib;print(get_python_lib())")
nano pattern/text/__init__.py

Строка 605, чуть вышеclass Lexicon(lazydict): ... заменить raise StopIteration с return.

И все работает нормально.

Другие вопросы по тегам