2017-04-21 70 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