<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Python subprocess module and 64 bit background geoprocessing in v10.1 in Python Questions</title>
    <link>https://community.esri.com/t5/python-questions/python-subprocess-module-and-64-bit-background/m-p/608707#M47515</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN&gt;Works for me in 64 bit python (using the following standalone script) and I have both 32 &amp;amp; 64 bit python installed.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;CODE&gt;&lt;SPAN class="keyword token"&gt;import&lt;/SPAN&gt; sys&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;subprocess&amp;nbsp; 
&lt;SPAN class="keyword token"&gt;if&lt;/SPAN&gt; len&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;sys&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;argv&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;1&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;import&lt;/SPAN&gt; arcpy
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;print&lt;/SPAN&gt; arcpy
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;print&lt;/SPAN&gt; sys&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;executable
&lt;SPAN class="keyword token"&gt;else&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cmd&lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;'python'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;__file__&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;'foo'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; proc&lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt;subprocess&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;Popen&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;cmd&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; stdout&lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt;subprocess&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;PIPE&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; stderr&lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt;subprocess&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;PIPE&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; exit_code&lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt;proc&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;wait&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; stdout&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;stderr&lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt;proc&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;communicate&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;print&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;'\n'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;join&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;str&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;exit_code&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;stdout&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;stderr&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P class="plain"&gt;&lt;/P&gt;&lt;P class="plain"&gt;This prints:&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;CODE&gt;0
&amp;lt;module 'arcpy' from 'c:\Program Files (x86)\ArcGIS\Desktop10.1\arcpy\arcpy\__init__.py'&amp;gt;
C:\Python27\ArcGISx6410.1\python.exe‍‍‍‍‍‍&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Before running, I have a batch file to set up some environment variables:&lt;/SPAN&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;/PRE&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;CODE&gt;@echo off 
set PYTHONHOME=C:\Python27\ArcGISx6410.1 
set PATH= 
set PATH=%WINDIR%;%WINDIR%\system32 
set PATH=%PYTHONHOME%;%PATH%
‍‍‍‍‍‍‍‍‍‍‍&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;SPAN&gt;A couple of other things to try...&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;1 - make sure you're not calling subprocess.Popen with shell=True. &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;2 - try passing a custom "env" to &lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="http://docs.python.org/2/library/subprocess.html#popen-constructor" rel="nofollow noopener noreferrer" target="_blank"&gt;subprocess.Popen&lt;/A&gt;&lt;SPAN&gt; with the above env vars, i.e (completely untested...):&lt;/SPAN&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;CODE&gt;env&lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt;os&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;environ&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;copy&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
env&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;'PATH'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;'%s;%s;%s'&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;%&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;'C:\\Python27\\ArcGISx6410.1'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; env&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;'WINDIR'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; env&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;'WINDIR'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;+&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;'\\system32'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
proc&lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt;subprocess&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;Popen&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;cmd&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; stdout&lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt;subprocess&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;PIPE&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; stderr&lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt;subprocess&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;PIPE&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;env&lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt;env&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;‍‍‍‍‍‍‍‍&lt;/CODE&gt;&lt;/PRE&gt;&lt;DIV style="display: none;"&gt; &lt;/DIV&gt;&lt;P&gt;(&lt;A href="https://community.esri.com/people/curtvprice" target="_blank"&gt;curtvprice&lt;/A&gt; did some editing to make the code visible again)&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sun, 12 Dec 2021 02:03:09 GMT</pubDate>
    <dc:creator>Luke_Pinner</dc:creator>
    <dc:date>2021-12-12T02:03:09Z</dc:date>
    <item>
      <title>Python subprocess module and 64 bit background geoprocessing in v10.1</title>
      <link>https://community.esri.com/t5/python-questions/python-subprocess-module-and-64-bit-background/m-p/608706#M47514</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I have a script that relys on the 'subprocess' module to basically run seperate instances of arcpy as a parallel process. After installing the 'ArcGIS_BackgroundGP_for_Desktop_101sp1.exe' 64-bit geoprocessing package I have both the 32-bit and 64-bit versions of Python 2.7 on my machine. Both versions of python will import and play with arcpy just fine. However, when I attempt to launch a subprocess of arcpy with a 64 bit version of Python, the subprocess script fails upon attempting to import arcpy with the following error:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="plain" name="code"&gt;C:\Python27\ArcGISx6410.1 Python Traceback Info:&amp;nbsp;&amp;nbsp; File "\\snarf\am\div_lm\ds\gis\projects\lidar_hydro_all \lidar_hydro_child_v101.py", line 7, in &amp;lt;module&amp;gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; import arcpy Python Error Info: &amp;lt;type 'exceptions.ImportError'&amp;gt;: DLL load failed: %1 is not a&amp;nbsp; valid Win32 application.&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The subprocess call is to the 64bit version of Python, and I have verified that this is the exe that is launching under subprocess. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The subprocess call I am making is:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="plain" name="code"&gt;subprocess.Popen(['C:\\Python27\\ArcGISx6410.1\\python.exe', '\\\\snarf\\am\\div_lm\\ds\\gis\\projects\\lidar_hydro_all\\lidar_hydro_child_v101.py', 'C:\\csny490\\lidar_stream_build_new', '16'], shell=False)&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Funny thing is that the 'lidar_hydro_child_v101.py' script (the import arcpy part) runs just fine stand alone in 64-bit and/or 32-bit Python, but just not when called as a subprocess.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;My feeling is that for 'some reason' even though I am running the script from 64-bit python and launching the subprocesses as 64-bit python, when arcpy is being imported in the 64-bit python.exe subprocess, arcpy thinks that it is in 32-bit land still...&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Trying to fix things, I added a PYTHONPATH environment variable (which curiously didn't previously exist) that points to 'C:\Python27\ArcGISx6410.1', but that didn't do the trick...&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I haven't uninstalled the 32-bit version of Python, but that's my next step...&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Any other ideas?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 27 Feb 2013 20:43:03 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/python-subprocess-module-and-64-bit-background/m-p/608706#M47514</guid>
      <dc:creator>ChrisSnyder</dc:creator>
      <dc:date>2013-02-27T20:43:03Z</dc:date>
    </item>
    <item>
      <title>Re: Python subprocess module and 64 bit background geoprocessing in v10.1</title>
      <link>https://community.esri.com/t5/python-questions/python-subprocess-module-and-64-bit-background/m-p/608707#M47515</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN&gt;Works for me in 64 bit python (using the following standalone script) and I have both 32 &amp;amp; 64 bit python installed.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;CODE&gt;&lt;SPAN class="keyword token"&gt;import&lt;/SPAN&gt; sys&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;subprocess&amp;nbsp; 
&lt;SPAN class="keyword token"&gt;if&lt;/SPAN&gt; len&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;sys&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;argv&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;1&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;import&lt;/SPAN&gt; arcpy
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;print&lt;/SPAN&gt; arcpy
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;print&lt;/SPAN&gt; sys&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;executable
&lt;SPAN class="keyword token"&gt;else&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cmd&lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;'python'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;__file__&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;'foo'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; proc&lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt;subprocess&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;Popen&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;cmd&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; stdout&lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt;subprocess&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;PIPE&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; stderr&lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt;subprocess&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;PIPE&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; exit_code&lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt;proc&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;wait&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; stdout&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;stderr&lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt;proc&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;communicate&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;print&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;'\n'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;join&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;str&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;exit_code&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;stdout&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;stderr&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P class="plain"&gt;&lt;/P&gt;&lt;P class="plain"&gt;This prints:&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;CODE&gt;0
&amp;lt;module 'arcpy' from 'c:\Program Files (x86)\ArcGIS\Desktop10.1\arcpy\arcpy\__init__.py'&amp;gt;
C:\Python27\ArcGISx6410.1\python.exe‍‍‍‍‍‍&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Before running, I have a batch file to set up some environment variables:&lt;/SPAN&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;/PRE&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;CODE&gt;@echo off 
set PYTHONHOME=C:\Python27\ArcGISx6410.1 
set PATH= 
set PATH=%WINDIR%;%WINDIR%\system32 
set PATH=%PYTHONHOME%;%PATH%
‍‍‍‍‍‍‍‍‍‍‍&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;SPAN&gt;A couple of other things to try...&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;1 - make sure you're not calling subprocess.Popen with shell=True. &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;2 - try passing a custom "env" to &lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="http://docs.python.org/2/library/subprocess.html#popen-constructor" rel="nofollow noopener noreferrer" target="_blank"&gt;subprocess.Popen&lt;/A&gt;&lt;SPAN&gt; with the above env vars, i.e (completely untested...):&lt;/SPAN&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;CODE&gt;env&lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt;os&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;environ&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;copy&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
env&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;'PATH'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;'%s;%s;%s'&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;%&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;'C:\\Python27\\ArcGISx6410.1'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; env&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;'WINDIR'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; env&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;'WINDIR'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;+&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;'\\system32'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
proc&lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt;subprocess&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;Popen&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;cmd&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; stdout&lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt;subprocess&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;PIPE&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; stderr&lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt;subprocess&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;PIPE&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;env&lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt;env&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;‍‍‍‍‍‍‍‍&lt;/CODE&gt;&lt;/PRE&gt;&lt;DIV style="display: none;"&gt; &lt;/DIV&gt;&lt;P&gt;(&lt;A href="https://community.esri.com/people/curtvprice" target="_blank"&gt;curtvprice&lt;/A&gt; did some editing to make the code visible again)&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 12 Dec 2021 02:03:09 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/python-subprocess-module-and-64-bit-background/m-p/608707#M47515</guid>
      <dc:creator>Luke_Pinner</dc:creator>
      <dc:date>2021-12-12T02:03:09Z</dc:date>
    </item>
    <item>
      <title>Re: Python subprocess module and 64 bit background geoprocessing in v10.1</title>
      <link>https://community.esri.com/t5/python-questions/python-subprocess-module-and-64-bit-background/m-p/608708#M47516</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi Luke,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Your code:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;env=os.environ.copy()
env['PATH']='%s;%s;%s' %('C:\\Python27\\ArcGISx6410.1',env['WINDIR'],env['WINDIR']+'\\system32')
proc=subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE,env=env)&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;worked great.... I specifically traced the problem to a lack of PATH = 'C:\\Python27\\ArcGISx6410.1'.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I went ahead and appended&amp;nbsp; 'C:\Python27\ArcGISx6410.1' to my system envr PATH variable permanently, and so now no need to pass a custom env definition to the subprocess.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Not sure why just changing PYTHONPATH wasn't sufficient, but I guess there must be some envr variable hierarchy in there. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Anyway, my arcpy subprocess scripts are grooving again - this time in 64 bit arcpy land.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks a million!&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 12 Dec 2021 02:03:12 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/python-subprocess-module-and-64-bit-background/m-p/608708#M47516</guid>
      <dc:creator>ChrisSnyder</dc:creator>
      <dc:date>2021-12-12T02:03:12Z</dc:date>
    </item>
    <item>
      <title>Re: Python subprocess module and 64 bit background geoprocessing in v10.1</title>
      <link>https://community.esri.com/t5/python-questions/python-subprocess-module-and-64-bit-background/m-p/608709#M47517</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi Chris, I am pretty sure that &lt;/SPAN&gt;&lt;STRONG&gt;PYTHONPATH &lt;/STRONG&gt;&lt;SPAN&gt;is a path that Python checks on load to find modules - not the path &lt;/SPAN&gt;&lt;STRONG style="font-style: italic;"&gt;to &lt;/STRONG&gt;&lt;SPAN&gt;Python. Which explains why it didn't fix your problem.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I used it at one stage to point to a folder where I had placed some modules I had written that were used by a number of different scripts located in different folders, rather than copying them each time I used them and having version mismatches, etc.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;If you are on a system where you cannot modify the path I find the following command useful (and can easily be incorporated into a batch script):&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family:Courier New;"&gt;set Path=C:\Apps\Python27\ArcGISx6410.1;%Path%&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;This is run from the Windows command prompt prior to loading Python, and will add your Python path (in this case the path to 64bit Python) to the start of the system path for the duration of the command prompt session.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 14 Jun 2013 01:19:04 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/python-subprocess-module-and-64-bit-background/m-p/608709#M47517</guid>
      <dc:creator>StacyRendall1</dc:creator>
      <dc:date>2013-06-14T01:19:04Z</dc:date>
    </item>
    <item>
      <title>Re: Python subprocess module and 64 bit background geoprocessing in v10.1</title>
      <link>https://community.esri.com/t5/python-questions/python-subprocess-module-and-64-bit-background/m-p/608710#M47518</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;PYTHONPATH is a path that Python checks on load to find modules&lt;/BLOCKQUOTE&gt;&lt;SPAN&gt;Yep - you are correct...&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;
set Path=C:\Apps\Python27\ArcGISx6410.1;%Path%&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;...gets an upvote.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 12 Dec 2021 02:03:14 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/python-subprocess-module-and-64-bit-background/m-p/608710#M47518</guid>
      <dc:creator>ChrisSnyder</dc:creator>
      <dc:date>2021-12-12T02:03:14Z</dc:date>
    </item>
  </channel>
</rss>

