2017-04-21 65 views
2

我想使用地理庫來提取地點的細節。我無法安裝它。我安裝了枕頭,報紙,lxml,beautifulsoup4和所有nltk Corpas。安裝時報社這是給我的分發-0.6.21庫是錯誤的,所以我安裝了它,在這之後,我面臨着以下錯誤的每一個模塊我試圖安裝:問題與Python中的地理庫

$ conda install newspaper 

Traceback (most recent call last): 
    File "/Users/palakagrawal/anaconda/lib/python3.5/site-packages/conda/exceptions.py", line 626, in conda_exception_handler 
    return_value = func(*args, **kwargs) 
    File "/Users/palakagrawal/anaconda/lib/python3.5/site-packages/conda/cli/main.py", line 85, in _main 
    from ..base.context import context 
    File "/Users/palakagrawal/anaconda/lib/python3.5/site-packages/conda/base/context.py", line 18, in <module> 
    from .._vendor.auxlib.path import expand 
    File "/Users/palakagrawal/anaconda/lib/python3.5/site-packages/conda/_vendor/auxlib/path.py", line 8, in <module> 
    import pkg_resources 
    File "/Users/palakagrawal/anaconda/lib/python3.5/site-packages/pkg_resources.py", line 45 
    def _bypass_ensure_directory(name, mode=0777): 
              ^
SyntaxError: invalid token 

During handling of the above exception, another exception occurred: 

Traceback (most recent call last): 
    File "/Users/palakagrawal/anaconda/bin/conda", line 6, in <module> 
    sys.exit(conda.cli.main()) 
    File "/Users/palakagrawal/anaconda/lib/python3.5/site-packages/conda/cli/main.py", line 162, in main 
    return conda_exception_handler(_main, *args) 
    File "/Users/palakagrawal/anaconda/lib/python3.5/site-packages/conda/exceptions.py", line 630, in conda_exception_handler 
    return handle_exception(e) 
    File "/Users/palakagrawal/anaconda/lib/python3.5/site-packages/conda/exceptions.py", line 620, in handle_exception 
    print_unexpected_error_message(e) 
    File "/Users/palakagrawal/anaconda/lib/python3.5/site-packages/conda/exceptions.py", line 561, in print_unexpected_error_message 
    from conda.base.context import context 
    File "/Users/palakagrawal/anaconda/lib/python3.5/site-packages/conda/base/context.py", line 18, in <module> 
    from .._vendor.auxlib.path import expand 
    File "/Users/palakagrawal/anaconda/lib/python3.5/site-packages/conda/_vendor/auxlib/path.py", line 8, in <module> 
    import pkg_resources 
    File "/Users/palakagrawal/anaconda/lib/python3.5/site-packages/pkg_resources.py", line 45 
    def _bypass_ensure_directory(name, mode=0777): 
              ^
SyntaxError: invalid token 

請幫我與上述錯誤,並建議我的方式來安裝地理模塊

回答

2

如果你在Python 3,你應該確保你使用的所有軟件包與Python 3兼容。你得到的錯誤是由新的八進制在Python3中的數字語法,所以下面一行:

def _bypass_ensure_directory(name, mode=0777): 

應該是:

def _bypass_ensure_directory(name, mode=0o777): 

爲Python 3.你得到這個錯誤,因爲包沒有被設計爲Python 3

+0

您能否建議我現在怎樣才能解決這個問題。即使是簡單的cmd,如conda安裝anaconda也不起作用。請建議 – Palak

+0

@Palak看起來好像通過安裝分發包,你已經得到了Python 2的setuptools的錯誤版本。一個簡單的修復將會重新安裝Anaconda。 –

+0

謝謝你的幫助。我只想知道一件事,我重新安裝了anaconda,但Conda cmd在ZSH中不起作用,並且在終端中運行良好。我使用路徑和.bash_profile更新了update.zshrc文件,即使在執行此操作後conda命令未找到錯誤也會在zsh shell中引發。 – Palak

1

一些補充公認的答案:

事實上,這是正如Kamyar所建議的那樣清除geograpyonly supports Python 2,

除非地名提取您只有 Python的任務,我建議你找到一個方法來完成它與Python 3下工作選擇另一地理包,或者如果你的目標是實體識別直接使用nltk ,它支持Python 3(geograpy在幕後使用nltk)。包裹geograpy自2014年以來尚未更新,因此無論如何你都可以找到更能滿足你需求的東西。

如果你決定在Python2下運行它,請使用conda create --name new_env_name python=2爲它創建一個新的Anaconda環境。有關詳細信息,請參閱https://conda.io/docs/py2or3.html#install-a-different-version-of-python。然後,您可以使用Anaconda命令activate(例如,. activate new_env_name)在您的環境之間切換。

+0

謝謝@alexis – Palak