如何在python 3.5中启用安装模式包?

时间:2016-01-25 17:07:47

标签: python install pip

如何在python 3.5中启用安装模式包?

在CMD中:

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

显示错误:

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

seaborntweepy都是成功的。

我该如何解决这个问题?

8 个答案:

答案 0 :(得分:15)

pip install pattern3 - Python 3.x

pip install pattern - Python 2.7.x

答案 1 :(得分:3)

从文档中可以看出,对于python 3,模式仅支持3.6及更高版本。 https://github.com/clips/pattern#installation

这对我有帮助 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

我在mac(10.11.6)上安装时出现了一些SSL错误,这些错误是通过在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')
显然,有一个更好的方法来处理像这个fwiw这样的ssl: https://stackoverflow.com/a/41351871/8870055

理智检查:

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最终在python 3中运行!

答案 2 :(得分:2)

在撰写本文时,Python 3.6支持仍未与master合并。但是,它在python3分支中可用。

要通过pip安装:

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

请注意,ThReSholD对Python 3(pattern3)的回答是针对:

deprecated pattern3 repository which contains a completely different code base that is not maintained anymore

答案 3 :(得分:1)

目前简短的回答是 - 你做不到。他们还没有完成到python3的端口。

开发分支中存在所谓的兼容性,但推荐的手动设置对我不起作用(在virtualenv中) - 它以不同的方式失败。 https://github.com/clips/pattern/tree/development

移植问题主题在这里,从2013年到昨天: https://github.com/clips/pattern/issues/62

官方一个贡献的端口仓库在这里,但还没有完成(自述文件说没有Python3支持)。 https://github.com/pattern3/pattern

所以你可以尝试安装它的pip install pattern3 - 但它有一个不同的包名,所以你必须修改对它的任何引用。对我来说,这是“不可能的”,因为像GenSim这样的其他第三方软件包需要它。

更新

我确实使用Gensim在Python3中使用它,通过按照建议从开发分支手动安装它并修复安装和执行期间的一些问题。 (我删除了mysql-client依赖项,因为安装程序不能在Mac上运行。我手动下载了NTLK wordnet语料库的证书,以修复设置中的SSL错误。我还修复了一些错误的脚本,例如tree.py中的空'try'子句。它有很多依赖项!

在阅读了有关港口活​​动的更多信息之后,它们似乎已经完成,并且应该在几个月内(也许是2018年初)发布。此外,pattern3存储库比官方Python3 fork更像是“朋友”。他们已经将这个贡献者的变化撤回到主要回购中,他们正准备将其发布。

因此它应该在主pip包中的pattern上可用(不是我认为将删除的pattern3),并且应该没有包名更改问题。

答案 4 :(得分:0)

在从python 2.x升级到3.x时,print语句被设置为函数调用而不是关键字。以前的行print "Hello world!"现在是行print("Hello world!")。因此,现在为2.x打印到控制台的所有代码在版本3.x中都不起作用,因为编译器在打印语句上遇到运行时错误。

此问题实际上只有两个修复:使用版本2.x,或找到为版本3.x构建的库。

答案 5 :(得分:0)

此外,我正面临着:

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

这是因为sentiwordnet在nltk中过时了。请注意:

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

确保将必要的语料库下载到本地驱动器 for(" wordnet"," wordnet_ic"):," sentiwordnet"

尝试:

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

答案 6 :(得分:0)

使用适用于Linux的Windows子系统,我使用

中的(miniconda)的conda制作了可以使用的模式

Python 3.6:

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

可以正常工作

Python 3.7:

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

我发现由于PEP-479而导致StopInteration存在错误,raise StopIteration中带有return的{​​{3}} pattern\text\__init__.py对此进行了修复。

要查找文件的位置,我执行了

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

replacing,在class Lexicon(lazydict): ...上方,将raise StopIteration替换为return

一切正常。

Line 605

答案 7 :(得分:0)

对于Mac OS:

brew install mysql
export PATH=$PATH:/usr/local/mysql/bin
pip3 install mysql-connector
pip3 install https://github.com/clips/pattern/archive/python3.zip