9

I would want to use arcpy in my python code. I am able to import it through the ARCGIS desktop python console. But I am not able to import it into Python IDLE. I get the following error

Traceback (most recent call last):
File "C:\Python26\lib\site-packages\win32com\client\dynamic.py", line 246, in 
__getitem__raise TypeError("This object does not support enumeration") 

I mentioned the following folders as a part of my python path.

C:\Program Files\ArcGIS\Desktop10.0\arcpy;
C:\Program Files\ArcGIS\Desktop10.0\arcpy\arcpy;
C:\Python26\ArcGIS10.0\Tools\Scripts

I found the same issue being mentioned.

import arcpy yields "TypeError: This object does not support enumeration"

The user says it is due to the following:

I wrote for Arcgis 9 and 10 in the same directory. Something about the initialization logic in import arcpy finds the custom arcgisscripting.py used for running python 2.6 with arcgis 9.3 when they are located together.

I have only ARCGIS 10 and i am not aware of how arcpy looks up for its modules.

PolyGeo
65.5k29 gold badges115 silver badges350 bronze badges
asked Jun 8, 2012 at 5:08
6
  • Are you simply typing import arcpy into the Python shell (of IDLE) to see this error? Or perhaps simply typing import arcpy into a Python window (of IDLE) and using Run Module to see it? Do you have to use a long PYTHONPATH? I just have PYTHONPATH=C:\Python26 and C:\Python26\ArcGIS10.0 as part of my PATH variable. Commented Jun 8, 2012 at 5:43
  • yes, im just importing the module in the IDLE window.I also tried using this python interpreter in ARCGIS,imported the arpy modules. I still get the error. Commented Jun 8, 2012 at 5:56
  • 1
    Do you have to use a long PYTHONPATH? I just have PYTHONPATH=C:\Python26 and C:\Python26\ArcGIS10.0 as part of my PATH variable. Commented Jun 8, 2012 at 6:39
  • 1
    windows solution -> reinstall both arcgis and python. Commented Jun 8, 2012 at 6:59
  • 1
    I would like to understand how the underlying issue and how it is caused, at the worst case i think il have to uninstsall both. @PolyGeo. I changed my path and python path variable. but the issue removes the same. Commented Jun 8, 2012 at 7:06

1 Answer 1

9

Fix your PYTHONPATH. From ArcGIS help:

When using an import statement, Python looks for a module matching that name in the following locations (and in the following order):

  1. Paths specified in the PYTHONPATH system environment variable
  2. A set of standard Python folders (the current folder, C:\python2x\lib, C:\python2x\Lib\site-packages, and so on)
  3. Paths specified inside any .pth file found in 1 and 2

For more information on this, see the following: http://docs.python.org/install/index.html#modifying-python-s-search-path. The installation of ArcGIS 10.0 products will install Python 2.6 if it isn't already installed. The installation will also add the file Desktop10.pth (or Engine10.pth or Server10.pth) into python26\Lib\site-packages. The contents of this file are two lines containing the path to your system's ArcGIS installation's arcpy and bin folders. These two paths are required to import ArcPy successfully in Python version 2.6. When using an import statement, Python refers to your system's PYTHONPATH environment variable to locate module files. This variable is set to a list of directories.


Tip:

If importing ArcPy produces either of the following errors, the required modules could not be found: ImportError: No module named arcpy ImportError: No module named arcgisscripting

To address this, browse using Windows Explorer to the python26\Lib\site-packages folder and add or edit the Desktop10.pth file. The file should contain the two lines shown below (corrected to your system's path if they do not match):

  • C:\Program Files\ArcGIS\Desktop10.0\arcpy
  • C:\Program Files\ArcGIS\Desktop10.0\bin
answered Jun 9, 2012 at 0:46
1
  • Thanks all. Like @Aragon suggested I re-installed both ARCGIS Desktop and Python. put the Desktop.pth file in place and it worked. Commented Jun 11, 2012 at 10:12

Your Answer

Draft saved
Draft discarded

Sign up or log in

Sign up using Google
Sign up using Email and Password

Post as a guest

Required, but never shown

Post as a guest

Required, but never shown

By clicking "Post Your Answer", you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.