使用python和名为ArcREST的软件包正确导入软件包

时间:2020-03-31 15:21:26

标签: python package

我是使用ArcGIS的地理学家,在那儿我也使用Python访问和维护我的内容(在名为ArcGIS Online的在线平台上)。为此,我使用了一个名为ArcREST的Python包。该软件包包含几个子文件夹:

ArcREST contents(图1) 通过这些,我想通过以下步骤使用子文件夹WebMap中的代码:

from arcrest import webmap

但这给了我以下错误:

Runtime error

Traceback (most recent call last):

File "", line 1, in
File "C:\Python27\ArcGIS10.3\lib\site-packages\arcrest\webmap_init_.py", line 2, in
import domain

ImportError: No module named domain

我跟踪了问题: WebMap init.py code WebMap-subfolder contents

并尝试通过以下方法解决该问题:

import sys
from os import path
sys.path.append('.../ArcREST-master/src/arcrest/webmap')
from arcrest import webmap

但是,这给了我以下错误:

Runtime error

Traceback (most recent call last):
File "", line 1, in
File "C:\Python27\ArcGIS10.3\lib\site-packages\arcrest\webmap_init_.py", line 2, in
import domain
File ".../ArcREST-master/ArcREST-master/src/arcrest/webmap\domain.py", line 6, in
from .._abstract.abstract import BaseDomain

ValueError: Attempted relative import in non-package

domain函数如下,并重定向到ArcREST的抽象子文件夹(再次参见图1): domain.py abstract.py

我认为我没有正确导入软件包的某些部分,但是我什么也没得到。有人可以帮帮我吗?我已经为此困扰了一段时间。我正在使用Python 2.7。

1 个答案:

答案 0 :(得分:0)

首先,PyPi中似乎有此软件包的两个版本:arcrestARCRest_Package。至少在Windows上,arcrest甚至没有包含webmap包:),而ARCREst_Package却没有。

如果确实需要使用该软件包,则可以git clone或安装ARCRest_Package。但是,我都尝试了这两种方法,可以向您保证webmap软件包绝对不可用;一旦我将import domain和类似的导入内容与from . import domain和类似内容固定在一起,我在AttributeError中发现了另一个domain.py,其中range @property被注释掉了。虽然它的设置程序仍然没有注释...这不起作用:)

由于ArcREST git site已被正式存档,并将所有用户重定向到ArcGIS python API,因此我强烈建议您使用后者。