AnsweredAssumed Answered

"arcpy module does not exist"

Question asked by jjniev01 on Dec 27, 2012
Latest reply on Dec 28, 2012 by jjniev01
Quick background of the hardware and software I'm using:
OS: Windows 7 64-bit
Arc Info 10.0
IDE: Wingware Python IDE 4.1.3
Python 2.6 (installed with ArcGIS) AND 2.7 are installed on my machine

    I am compiling a script to create 3D lines connecting 3D point features based on a common field. These point features represent bus stops and ultimately I am creating a multi-modal transportation network model. The street level stops are called "real" and are in one file where as the elevated stops are referred to as "psuedo" and are grouped by the route number they are associated with (some service more than one route so there is overlap).
    My main problem right now is that when I am debugging my script, the debugger keeps on saying that the arcpy module does not exist. I checked in command line with assoc and ftype to make sure that all .py file were associated with 2.6 and not 2.7. I tried to append the arcpy path using the sys module (see script) and it still said that arcpy did not exist. I can go through my computer and see the arcpy folder so I know it is there.
Any ideas?

import sys sys.path.append('C:\Program Files (x86)\ArcGIS\Desktop10.0\arcpy') import arcpy arcpy.env.workspace = "C:\\Users\\Admiral Ackbar\\Desktop\\442PythonTempWorkspace\\442PythonTempWorkspace.gdb"  PSRGList = arcpy.ListFeatureClasses("","","PSUEDO_STOPS_ROUTE_GROUPS") #Retrieve a list of all 2D Psudeo Stop feature classes internally  grouped by route they service in the feature dataset "PSUEDO_STOPS_ROUTE_GROUPS"  for PSRG in PSRGList:     #for every pseudo stop route group (PSRG) in the PSGR list     PSRGcounter = 0       #PSRG counter that indicates the index of the PSRGList that is currently going through iteration     newPSRGname = PSRGlist[PSRGcounter] + "_3D"    #Get the name of the PSRG feature from the list and add '_3D' for the new name      PSRG3D = arcpy.FeatureTo3DByAttribute(PSRG, newPSRGname, "ELEVATION") # Make the feature 3D by using the field 'ELEVATION' for height     print "New 3d Feature" + newPSRGname +"created."          SC_list=[]     #Empty list for stopcodes that will be retrieved     srows = arcpy.SearchCursor(newPSRGname,"","","STOP_CODE","STOP_CODE_A") #Create a search cursor to retrieve all stop code values in the 3D PSRG and put the values in ascending order     for srow in srows:     #For each row in the cursor         Stop_code = srow.STOP_CODE     #Assign a variable for the value of the STOP_CODE field         SC_list.append(Stop_code)      #Append that value to the SC_List              del srow, srows    #Delete the search cursor     print "New Stop Code List created from" + str(newPSRGname) +"."     SC_List =["x","y","z"]     SCcounter=1      #counter      query=""         #Empty string for query      SC_length = len(SC_list)       #Get the length of the Stop Code list     while SCcounter <= SC_length:   #while there are items in the list SC_List         for SC in SC_List:                     if SCcounter < SC_length:    #if the SC counter is less than the length of the list SC_List                 query += "\"STOP_CODE\" == \'%s\' OR " %(SC) #Create the initial portion of the query                 SCcounter +=1             else:                     query += "\"STOP_CODE\" == \'%s\'" %(SC)  #add other values to the query as long as there are values in the list                 SCcounter +=1     print "The query to be used in Select By Attribute is " + query + "."               arcpy.MakeFeatureLayer_management("REALBUSSTOPS_3D","REALBUSSTOPS_3D_lyr") #Create a Feature Layer for Select by Attribute          routenumlist = [] #create blank list     routenumlist = PSRG.split(_) #Split the PSRG name at every occurrence of '_'     routenum = routenumlist[1]     #Get the route number from the list of words in the PSRG feature which resides at the index 1 for every standardized PSRG name     selectedRBS_nam3 = "REALBUSSTOPS_3D_" + routenum #Name of the selected Real Bus Stops (RBS) feature to be     arcpy.SelectByAttribute_management("REALBUSSTOPS_3D_lyr",NEW_SELECTION,query) #Select the corresponding REALBUSSTOP_3D records      arcpy.CopyFeatures_management("REALBUSSTOPS_3D_lyr", sleectedRBS_nam3) #Create a new feature of the selected RealBusstops_3D     print"New 3d Feature"+ selectedRBS_nam3 + "was created."          arcpy.Delete_management("REALBUSSTOPS_3D_lyr") #Delete the layer           mergeoutput = "PSUEDO_REAL_3D_STOPS_" + routenum     #Assign variable for the name of the output merge file     arcpy.Merge_management([newPSRGname, selectedRBS_nam3], mergeoutput) #Merge the RBS and the PBRG points into one file     print"Selected real bus stops and PSRG" + routenum + "were merged into the file " + mergeoutput +"."          outputconnector="Connector_" + routenum    #Assign variable for the output points to line file     arcpy.PointsToLine_management(mergeoutput, outputconnector, "STOP_CODE") #Create the 3D connectors for that route group     print outputconnector + "was created."          PSRGcounter=+1 #Increase the PSRG counter by one for naming conventions to be correct on the next iteration      connectorlist = arcpy.ListFeatureClasses("",Polyline,"")    #Creates a list of the connector features classes in the workspace (connectors are the only polyline features in the workspace). connectorstring = "" connectorcounter = 0 while connect in connectorlist:    #while there are items in the list connectorlist     if connectorcounter <24:         connectorstring+= connect+";"   #append the string from connector list to the string connector string         connectorcounter+=1    #Add one to the counter     else:         connectorstring=+ connect   #Append the string from connector list with no trailing semicolon         connectorcounter+=1    #Add one to the counter          arcpy.Merge_management(connectorstring, "MASTER_CONNECTORS_3D") #Merge all of the connectors into one 'Master' 3D feature

Outcomes