2016-01-25 53 views
3

如何在python 3.5中安裝模式包?如何在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均獲得成功。

我該如何解決這個問題?

回答

0

在從python 2.x升級到3.x時,print語句變成了函數調用而不是關鍵字。以前的行print "Hello world!"現在是行print("Hello world!")。因此,現在所有爲2.x打印的代碼打印到控制檯在版本3.x中都不起作用,因爲編譯器在打印語句中遇到了運行時錯誤。

這個問題確實只有兩個修復方法:改爲使用2.x版本,或者找到爲3.x版本構建的庫。

+0

對不起,_interpreter_命中運行時錯誤。 – James

0

目前的簡短答案是 - 你不能。他們還沒有完成到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等其他第三方包需要它。

UPDATE

我沒有得到它在Python3到底有Gensim工作,從開發分支手動安裝它的建議,並固定了無論是在安裝和執行了一些問題。 (我刪除了mysql-client依賴項,因爲安裝程序沒有在Mac上工作,我手動下載了NTLK wordnet語料庫的證書,修復了安裝程序中的SSL錯誤,還修復了一些錯誤的腳本,例如tree.py中的空'try'子句)。它有一大堆的依賴關係!

在閱讀了關於港口活動的更多信息之後,看起來它們幾乎已經完成並且應該在幾個月內發佈(可能在2018年初)。此外,pattern3存儲庫比官方的Python3分支更像是一個「朋友」。他們已經將這個貢獻者的變化拖入了主要的回購協議,並且他們正準備將其發佈。

因此,它應該在pippattern包(不是我認爲將被刪除的pattern3)上可用,並且應該沒有包名稱更改問題。

1

PIP安裝pattern3 - Python 3.x都有

PIP安裝模式 - Python的2.7.x

+0

雖然這個鏈接可能回答這個問題,但最好在這裏包含答案的基本部分,並提供參考鏈接。如果鏈接頁面更改,則僅鏈接答案可能會失效。 - [來自評論](/ review/low-quality-posts/18022310) –

1

它看起來像從,爲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上安裝過程中的一些SSL錯誤(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') 

顯然有一個bett呃方式來處理SSL這樣的東西FWIW: https://stackoverflow.com/a/41351871/8870055

健全檢查:

[email protected] ~> 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運行!