Пакет "шаблон" для 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
.
И все работает нормально.