当从 Python 2 迁移到 3 时,我知道我必须为 Python 3 重新安装 NLTK,但是是否也需要重新安装大量目录?
我使用的是 Mac OS 10.12.5,并且一直在 Sublime3 中使用 Python 2.7。我现在正在转向 Python 3,有时在 Sublime3 中工作,有时在 Jupyter Notebook 中工作。问题是我为 2.7 安装了 NLTK,但现在我要转向 3,我不想为 python 3 再次重新安装巨大的 NLTK 目录。所以我想知道为 3 安装 NLTK 是否可能且容易,但是仍然使用整个解析器/语料库/等。我已经有了。
感谢您的帮助,如果可能的话请指导教程!
最佳答案
NLTK 数据目录保持不变,因此无需重新安装数据。
但是代码在 Python2 和 Python3 的 python dist-package 中的位置不同。
因此,您需要做的就是使用 pip
和 pip3
安装 nltk
:
pip install -U nltk
pip3 install -U nltk
但是您只需要安装nltk_data
目录一次,例如:
# Let's delete the existing nltk_data directory and start afresh:
alvas@ubi:~$ ls nltk_data/
chunkers grammars misc sentiment taggers
corpora help models stemmers tokenizers
alvas@ubi:~$ rm nltk_data/
# Install the NLTK code for pip3 (Python3) and pip (Python2)
alvas@ubi:~$ pip3 install -U nltk
Requirement already up-to-date: nltk in /usr/local/lib/python3.5/dist-packages
Requirement already up-to-date: six in ./.local/lib/python3.5/site-packages (from nltk)
alvas@ubi:~$ pip2 install -U nltk
Requirement already up-to-date: nltk in /usr/local/lib/python2.7/dist-packages
Requirement already up-to-date: six in /usr/local/lib/python2.7/dist-packages (from nltk)
# Now, download the NLTK directory in Python2
alvas@ubi:~$ python
Python 2.7.12 (default, Nov 19 2016, 06:48:10)
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import nltk
>>> nltk.download('popular')
[nltk_data] Downloading collection u'popular'
[nltk_data] |
...
[nltk_data] | Downloading package averaged_perceptron_tagger to
[nltk_data] | /home/alvas/nltk_data...
[nltk_data] | Unzipping taggers/averaged_perceptron_tagger.zip.
[nltk_data] |
[nltk_data] Done downloading collection popular
True
# Now in Python3, when we try to re-download the nltk_data directory
# We see that it doesn't re-download it =)
>>> import nltk
>>> nltk.download('popular')
[nltk_data] Downloading collection 'popular'
[nltk_data] |
[nltk_data] | Downloading package cmudict to
[nltk_data] | /home/alvas/nltk_data...
[nltk_data] | Package cmudict is already up-to-date!
...
[nltk_data] | /home/alvas/nltk_data...
[nltk_data] | Package averaged_perceptron_tagger is already up-
[nltk_data] | to-date!
[nltk_data] |
[nltk_data] Done downloading collection popular
True
<小时/>
我可以只下载 Python2 的 Python 包并使其在 Python3 中运行吗?
不幸的是,没有。在 Python 2 中安装包/库独立于 Python 3 的环境,反之亦然。这不仅适用于 nltk,也适用于其他库。
不要将 Python 3 视为 Python 2 的更高版本,而应将它们视为两种不同的语言;P
关于python - 从 Python 2 迁移到 3 : Must reinstall NLTK directory?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45392362/