I am trying to run a ArcGIS Pro Model from Model Builder that updates fields within an ArcGIS Feature Layer. i am would like this model to doing multiple field Calculation on a daily basis as the data is updated or added. The model works as long as I running the model in ArcGIS Pro but as soon as I try to call the toolbox through python and I get back
"ERROR 000732: Input Table: Dataset Permit_Status\Permit Status does not exist or is not supported
Failed to execute (PermitDuration)".
Here is the error I receive:
Python 3.4.3 (v3.4.3:9b73f1c3e601, Feb 24 2015, 22:44:40) [MSC v.1600 64 bit (AMD64)] on win32 Type "copyright", "credits" or "license()" for more information. >>> ================================ RESTART ================================ >>> Traceback (most recent call last): File "C:\Python34\lib\idlelib\run.py", line 353, in runcode exec(code, self.locals) File "C:\Users\agcallis\Documents\ArcGIS\Projects\Permits_Duration\PermitDuration.py", line 3, in <module> arcpy.PermitDuration.PermitDuration() Traceback (most recent call last): File "C:\Python34\lib\idlelib\run.py", line 353, in runcode exec(code, self.locals) File "C:\Users\agcallis\Documents\ArcGIS\Projects\Permits_Duration\PermitDuration.py", line 3, in <module> arcpy.PermitDuration.PermitDuration() File "C:\Users\agcallis\Documents\ArcGIS\Projects\Permits_Duration\Permits_Duration.tbx", line 59, in PermitDuration File "C:\Users\agcallis\Documents\ArcGIS\Projects\Permits_Duration\Permits_Duration.tbx", line 56, in PermitDuration File "C:\Program Files\ArcGIS\Pro\Resources\ArcPy\arcpy\geoprocessing\_base.py", line 500, in <lambda> return lambda *args: val(*gp_fixargs(args, True)) arcgisscripting.ExecuteError: Failed to execute. Parameters are not valid. The value does not exist. ERROR 000732: Input Table: Dataset Permit_Status\Permit Status does not exist or is not supported Failed to execute (PermitDuration). During handling of the above exception, another exception occurred: Traceback (most recent call last): File "C:\Python34\lib\tokenize.py", line 374, in find_cookie line_string = line.decode('utf-8') UnicodeDecodeError: 'utf-8' codec can't decode byte 0xd0 in position 0: invalid continuation byte During handling of the above exception, another exception occurred: Traceback (most recent call last): File "C:\Python34\lib\idlelib\run.py", line 126, in main ret = method(*args, **kwargs) File "C:\Python34\lib\idlelib\run.py", line 365, in runcode print_exception() File "C:\Python34\lib\idlelib\run.py", line 216, in print_exception print_exc(typ, val, tb) File "C:\Python34\lib\idlelib\run.py", line 206, in print_exc tbe = traceback.extract_tb(tb) File "C:\Python34\lib\traceback.py", line 106, in extract_tb return list(_extract_tb_iter(tb, limit=limit)) File "C:\Python34\lib\traceback.py", line 65, in _extract_tb_or_stack_iter line = linecache.getline(filename, lineno, f.f_globals) File "C:\Python34\lib\linecache.py", line 15, in getline lines = getlines(filename, module_globals) File "C:\Python34\lib\linecache.py", line 41, in getlines return updatecache(filename, module_globals) File "C:\Python34\lib\linecache.py", line 126, in updatecache with tokenize.open(fullname) as fp: File "C:\Python34\lib\tokenize.py", line 439, in open encoding, lines = detect_encoding(buffer.readline) File "C:\Python34\lib\tokenize.py", line 415, in detect_encoding encoding = find_cookie(first) File "C:\Python34\lib\tokenize.py", line 379, in find_cookie raise SyntaxError(msg) SyntaxError: invalid or missing encoding declaration for 'C:\\Users\\agcallis\\Documents\\ArcGIS\\Projects\\Permits_Duration\\Permits_Duration.tbx' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "C:\Python34\lib\tokenize.py", line 374, in find_cookie line_string = line.decode('utf-8') UnicodeDecodeError: 'utf-8' codec can't decode byte 0xd0 in position 0: invalid continuation byte During handling of the above exception, another exception occurred: Traceback (most recent call last): File "C:\Python34\lib\idlelib\run.py", line 138, in main print_exception() File "C:\Python34\lib\idlelib\run.py", line 216, in print_exception print_exc(typ, val, tb) File "C:\Python34\lib\idlelib\run.py", line 202, in print_exc print_exc(type(context), context, context.__traceback__) File "C:\Python34\lib\idlelib\run.py", line 202, in print_exc print_exc(type(context), context, context.__traceback__) File "C:\Python34\lib\idlelib\run.py", line 206, in print_exc tbe = traceback.extract_tb(tb) File "C:\Python34\lib\traceback.py", line 106, in extract_tb return list(_extract_tb_iter(tb, limit=limit)) File "C:\Python34\lib\traceback.py", line 65, in _extract_tb_or_stack_iter line = linecache.getline(filename, lineno, f.f_globals) File "C:\Python34\lib\linecache.py", line 15, in getline lines = getlines(filename, module_globals) File "C:\Python34\lib\linecache.py", line 41, in getlines return updatecache(filename, module_globals) File "C:\Python34\lib\linecache.py", line 126, in updatecache with tokenize.open(fullname) as fp: File "C:\Python34\lib\tokenize.py", line 439, in open encoding, lines = detect_encoding(buffer.readline) File "C:\Python34\lib\tokenize.py", line 415, in detect_encoding encoding = find_cookie(first) File "C:\Python34\lib\tokenize.py", line 379, in find_cookie raise SyntaxError(msg) SyntaxError: invalid or missing encoding declaration for 'C:\\Users\\agcallis\\Documents\\ArcGIS\\Projects\\Permits_Duration\\Permits_Duration.tbx' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "C:\Python34\lib\tokenize.py", line 374, in find_cookie line_string = line.decode('utf-8') UnicodeDecodeError: 'utf-8' codec can't decode byte 0xd0 in position 0: invalid continuation byte During handling of the above exception, another exception occurred: Traceback (most recent call last): File "<string>", line 1, in <module> File "C:\Python34\lib\idlelib\run.py", line 142, in main traceback.print_exception(type, value, tb, file=sys.__stderr__) File "C:\Python34\lib\traceback.py", line 169, in print_exception for line in _format_exception_iter(etype, value, tb, limit, chain): File "C:\Python34\lib\traceback.py", line 153, in _format_exception_iter yield from _format_list_iter(_extract_tb_iter(tb, limit=limit)) File "C:\Python34\lib\traceback.py", line 18, in _format_list_iter for filename, lineno, name, line in extracted_list: File "C:\Python34\lib\traceback.py", line 65, in _extract_tb_or_stack_iter line = linecache.getline(filename, lineno, f.f_globals) File "C:\Python34\lib\linecache.py", line 15, in getline lines = getlines(filename, module_globals) File "C:\Python34\lib\linecache.py", line 41, in getlines return updatecache(filename, module_globals) File "C:\Python34\lib\linecache.py", line 126, in updatecache with tokenize.open(fullname) as fp: File "C:\Python34\lib\tokenize.py", line 439, in open encoding, lines = detect_encoding(buffer.readline) File "C:\Python34\lib\tokenize.py", line 415, in detect_encoding encoding = find_cookie(first) File "C:\Python34\lib\tokenize.py", line 379, in find_cookie raise SyntaxError(msg) SyntaxError: invalid or missing encoding declaration for 'C:\\Users\\agcallis\\Documents\\ArcGIS\\Projects\\Permits_Duration\\Permits_Duration.tbx'
Any help or suggest will be greatly appreciated. The main goal is to do daily field calculation on updated features inside an ArcGIS.com Feature layer using Task Scheduler.
Solved! Go to Solution.
The Python script works within ArcGIS Pro as a script in the toolbox but will not work when trying to run the script in Python 3.4.3 IDLE with ArcGIS Pro opened in the background.
My hope is to run this script on a server using task Scheduler as a nightly process.
My python 3.4.3 Call to the toolbox.
import arcpy
arcpy.ImportToolbox(r"C:\Users\agcallis\Documents\ArcGIS\Projects\Permits_Duration\Permits_Duration.tbx", "PermitDuration")
arcpy.PermitDuration.PermitDuration(r"http://services.arcgis.com/T2graiaSQnlmwwmp/arcgis/rest/services/Permit_Status/FeatureServer")
My guess is you are not logged in. Have you tested it with Pro open in the background and logged in?
The Python script works within ArcGIS Pro as a script in the toolbox but will not work when trying to run the script in Python 3.4.3 IDLE with ArcGIS Pro opened in the background.
My hope is to run this script on a server using task Scheduler as a nightly process.
My python 3.4.3 Call to the toolbox.
import arcpy
arcpy.ImportToolbox(r"C:\Users\agcallis\Documents\ArcGIS\Projects\Permits_Duration\Permits_Duration.tbx", "PermitDuration")
arcpy.PermitDuration.PermitDuration(r"http://services.arcgis.com/T2graiaSQnlmwwmp/arcgis/rest/services/Permit_Status/FeatureServer")
I had this problem (Pro/Python 3 choking when loading a toolbox from command line) and the workaround from Handle python 3 choking on non-text scripts. · habnabit/passacre@2ea05ba · GitHub seemed to work for me:
# WORKAROUND: for Python 3 choking on reading some non-binary files
# Get error like: detect_encoding...tokenize.py...find_cookie...raise SyntaxError(msg)
# ...SyntaxError: invalid or missing encoding declaration for '...XXXX.tbx'
# Workaround borrowed/used from: https://github.com/habnabit/passacre/commit/2ea05ba94eab2d26951ae7b4b51abf53132b20f0
if sys.version_info >= (3,0): # Code will work on Python 2, but only do workaround for Python 3
import tokenize
try:
_detect_encoding = tokenize.detect_encoding
except AttributeError:
pass
else:
def detect_encoding(readline):
try:
return _detect_encoding(readline)
except SyntaxError:
return 'latin-1', []
tokenize.detect_encoding = detect_encoding