python - 无法安装模式包(OS Bash 终端)
问题描述
我无法安装 Pattern 包。请提供帮助!
lucy$ pip3 install pattern
Collecting pattern
Using cached https://files.pythonhosted.org/packages/1e/07/b0e61b6c818ed4b6145fe01d1c341223aa6cfbc3928538ad1f2b890924a3/Pattern-3.6.0.tar.gz
Collecting future
Using cached https://files.pythonhosted.org/packages/45/0b/38b06fd9b92dc2b68d58b75f900e97884c45bedd2ff83203d933cf5851c9/future-0.18.2.tar.gz
Collecting backports.csv
Using cached https://files.pythonhosted.org/packages/8e/26/a6bd68f13e0f38fbb643d6e497fc3462be83a0b6c4d43425c78bb51a7291/backports.csv-1.0.7-py2.py3-none-any.whl
Collecting mysqlclient
Using cached https://files.pythonhosted.org/packages/d0/97/7326248ac8d5049968bf4ec708a5d3d4806e412a42e74160d7f266a3e03a/mysqlclient-1.4.6.tar.gz
ERROR: Command errored out with exit status 1:
command: /Library/Frameworks/Python.framework/Versions/3.7/bin/python3.7 -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/dg/3dc4wnvn2ll0bz4p781nw1jc0000gn/T/pip-install-v1dttx0k/mysqlclient/setup.py'"'"'; __file__='"'"'/private/var/folders/dg/3dc4wnvn2ll0bz4p781nw1jc0000gn/T/pip-install-v1dttx0k/mysqlclient/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /private/var/folders/dg/3dc4wnvn2ll0bz4p781nw1jc0000gn/T/pip-install-v1dttx0k/mysqlclient/pip-egg-info
cwd: /private/var/folders/dg/3dc4wnvn2ll0bz4p781nw1jc0000gn/T/pip-install-v1dttx0k/mysqlclient/
Complete output (12 lines):
/bin/sh: mysql_config: command not found
/bin/sh: mariadb_config: command not found
/bin/sh: mysql_config: command not found
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/private/var/folders/dg/3dc4wnvn2ll0bz4p781nw1jc0000gn/T/pip-install-v1dttx0k/mysqlclient/setup.py", line 16, in <module>
metadata, options = get_config()
File "/private/var/folders/dg/3dc4wnvn2ll0bz4p781nw1jc0000gn/T/pip-install-v1dttx0k/mysqlclient/setup_posix.py", line 61, in get_config
libs = mysql_config("libs")
File "/private/var/folders/dg/3dc4wnvn2ll0bz4p781nw1jc0000gn/T/pip-install-v1dttx0k/mysqlclient/setup_posix.py", line 29, in mysql_config
raise EnvironmentError("%s not found" % (_mysql_config_path,))
OSError: mysql_config not found
----------------------------------------
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
(base) n20286z185l10:assortedcodes lucy$
解决方案
模式支持 Python 2.7 和 Python 3.6。请参考https://github.com/clips/pattern#pattern。这对我来说可以让 pattern.en 在 python 3.6 中工作:
git clone -b development https://github.com/clips/pattern
cd pattern
sudo python3.6 setup.py install
在我的 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 中运行了!
推荐阅读
- python - 使用 beautifulsoup 在 pandas 数据框中抓取问题/错误
- javascript - 尝试映射数组时出错。TypeError:无法读取未定义的属性“地图”
- cmake - CMake: ''配置过程出错,项目文件可能无效" ; OpenPose
- python - Lua脚本不会执行python脚本
- cmake - 使用 CMAKE 自定义 Visual Studio 解决方案平台名称
- python - 附加到列表仅附加第一项
- octave - 如何在 Octave 中加载用户指定的文件
- tomcat - 阻止 Tomcat 复制爆炸的战争目录
- android - 从 NodeJS 事件向 React Native 推送通知
- shell - 如何替换文本文件中存在的 url 值