Installing Python module within code and running from ArcGIS Pro script tool? The Next CEO of Stack OverflowUsing ArcPy module in python shell that is not with ArcGIS?Trouble importing qgis.core python moduleMaking Python Add-Ins for ArcMap after installing ArcGIS Pro prevents double-click running of makeaddin.py at Python 2.x?Getting QGIS python modules to work from PyScripter in Windows 10?Installing third party python libraries in ArcGIS locationInstalling xlutils alongside xlrd and xlwt in ArcPy install folder to facilitate copying Excel worksheets?Install pyodbc module for ArcGIS 10.5Installing module within code with pip and ArcPy?ArcGIS Pro 2.0 and Anaconda environmentsCreating Layer objects in ArcGIS Pro; Python Environment Limitations

What's the best way to handle refactoring a big file?

Why does the UK parliament need a vote on the political declaration?

What benefits would be gained by using human laborers instead of drones in deep sea mining?

Is it my responsibility to learn a new technology in my own time my employer wants to implement?

I believe this to be a fraud - hired, then asked to cash check and send cash as Bitcoin

In the bitcoin scripting language, how can I access other outputs of the transaction? Or how else can I limit how the coins may be spent?

What is the result of assigning to std::vector<T>::begin()?

Would this house-rule that treats advantage as a +1 to the roll instead (and disadvantage as -1) and allows them to stack be balanced?

Why don't programming languages automatically manage the synchronous/asynchronous problem?

If/When UK leaves the EU, can a future goverment conduct a referendum to join the EU?

Should I tutor a student who I know has cheated on their homework?

Why didn't Khan get resurrected in the Genesis Explosion?

Elegant way to replace substring in a regex with optional groups in Python?

Complex fractions

Is it ever safe to open a suspicious html file (e.g. email attachment)?

"In the right combination" vs "with the right combination"?

Which tube will fit a -(700 x 25c) wheel?

Which kind of appliances can one connect to electric sockets located in an airplane's toilet?

Is micro rebar a better way to reinforce concrete than rebar?

If the heap is initialized for security, then why is the stack uninitialized?

What can we do to stop prior company from asking us questions?

Why does standard notation not preserve intervals (visually)

Can you replace a racial trait cantrip when leveling up?

How to safely derail a train during transit?



Installing Python module within code and running from ArcGIS Pro script tool?



The Next CEO of Stack OverflowUsing ArcPy module in python shell that is not with ArcGIS?Trouble importing qgis.core python moduleMaking Python Add-Ins for ArcMap after installing ArcGIS Pro prevents double-click running of makeaddin.py at Python 2.x?Getting QGIS python modules to work from PyScripter in Windows 10?Installing third party python libraries in ArcGIS locationInstalling xlutils alongside xlrd and xlwt in ArcPy install folder to facilitate copying Excel worksheets?Install pyodbc module for ArcGIS 10.5Installing module within code with pip and ArcPy?ArcGIS Pro 2.0 and Anaconda environmentsCreating Layer objects in ArcGIS Pro; Python Environment Limitations










1















I am trying to install a third-party Python package from within a Python script so that other users can run the script and the package can be installed and loaded without having to manually download and install.



This is the code I'm using:



import subprocess

def install(package):
subprocess.call([sys.executable, "-m", 'pip', 'install', package])

install('pyodbc')
import pyodbc


This seems to work fine from within my stand-alone Python script. However, when I try to run it as a script tool set up in ArcGIS Pro, it is not finding the installed package and is failing with this error message:




ModuleNotFoundError: No module named 'pyodbc'




Do I need to change a path or environment setting?










share|improve this question



















  • 5





    Which version of ArcGIS Pro? Things changed at 2.2 in regards to the Python environment and Conda. I'd read: pro.arcgis.com/en/pro-app/arcpy/get-started/what-is-conda.htm

    – KHibma
    Jul 9 '18 at 19:33











  • I'm actually still on 2.1.3. I have not upgraded to 2.2 yet. But, this is helpful for understanding the package manager better.

    – mmoore
    Jul 10 '18 at 12:46











  • Did you ever find a solution to this? I'm looking to do the same in Pro 2.3.1

    – MCline
    yesterday











  • From within ArcGIS Pro, sys.executable will not point to a python.exe, it will point to arcgispro.exe, which will not understand the command line flags intended for pip. You will have to import pip and use it as shown in gis-professional's answer.

    – Jason Scheirer
    yesterday















1















I am trying to install a third-party Python package from within a Python script so that other users can run the script and the package can be installed and loaded without having to manually download and install.



This is the code I'm using:



import subprocess

def install(package):
subprocess.call([sys.executable, "-m", 'pip', 'install', package])

install('pyodbc')
import pyodbc


This seems to work fine from within my stand-alone Python script. However, when I try to run it as a script tool set up in ArcGIS Pro, it is not finding the installed package and is failing with this error message:




ModuleNotFoundError: No module named 'pyodbc'




Do I need to change a path or environment setting?










share|improve this question



















  • 5





    Which version of ArcGIS Pro? Things changed at 2.2 in regards to the Python environment and Conda. I'd read: pro.arcgis.com/en/pro-app/arcpy/get-started/what-is-conda.htm

    – KHibma
    Jul 9 '18 at 19:33











  • I'm actually still on 2.1.3. I have not upgraded to 2.2 yet. But, this is helpful for understanding the package manager better.

    – mmoore
    Jul 10 '18 at 12:46











  • Did you ever find a solution to this? I'm looking to do the same in Pro 2.3.1

    – MCline
    yesterday











  • From within ArcGIS Pro, sys.executable will not point to a python.exe, it will point to arcgispro.exe, which will not understand the command line flags intended for pip. You will have to import pip and use it as shown in gis-professional's answer.

    – Jason Scheirer
    yesterday













1












1








1








I am trying to install a third-party Python package from within a Python script so that other users can run the script and the package can be installed and loaded without having to manually download and install.



This is the code I'm using:



import subprocess

def install(package):
subprocess.call([sys.executable, "-m", 'pip', 'install', package])

install('pyodbc')
import pyodbc


This seems to work fine from within my stand-alone Python script. However, when I try to run it as a script tool set up in ArcGIS Pro, it is not finding the installed package and is failing with this error message:




ModuleNotFoundError: No module named 'pyodbc'




Do I need to change a path or environment setting?










share|improve this question
















I am trying to install a third-party Python package from within a Python script so that other users can run the script and the package can be installed and loaded without having to manually download and install.



This is the code I'm using:



import subprocess

def install(package):
subprocess.call([sys.executable, "-m", 'pip', 'install', package])

install('pyodbc')
import pyodbc


This seems to work fine from within my stand-alone Python script. However, when I try to run it as a script tool set up in ArcGIS Pro, it is not finding the installed package and is failing with this error message:




ModuleNotFoundError: No module named 'pyodbc'




Do I need to change a path or environment setting?







arcpy installation arcgis-pro import python-script-tool






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Jul 9 '18 at 19:56









PolyGeo

53.8k1781245




53.8k1781245










asked Jul 9 '18 at 19:07









mmooremmoore

677417




677417







  • 5





    Which version of ArcGIS Pro? Things changed at 2.2 in regards to the Python environment and Conda. I'd read: pro.arcgis.com/en/pro-app/arcpy/get-started/what-is-conda.htm

    – KHibma
    Jul 9 '18 at 19:33











  • I'm actually still on 2.1.3. I have not upgraded to 2.2 yet. But, this is helpful for understanding the package manager better.

    – mmoore
    Jul 10 '18 at 12:46











  • Did you ever find a solution to this? I'm looking to do the same in Pro 2.3.1

    – MCline
    yesterday











  • From within ArcGIS Pro, sys.executable will not point to a python.exe, it will point to arcgispro.exe, which will not understand the command line flags intended for pip. You will have to import pip and use it as shown in gis-professional's answer.

    – Jason Scheirer
    yesterday












  • 5





    Which version of ArcGIS Pro? Things changed at 2.2 in regards to the Python environment and Conda. I'd read: pro.arcgis.com/en/pro-app/arcpy/get-started/what-is-conda.htm

    – KHibma
    Jul 9 '18 at 19:33











  • I'm actually still on 2.1.3. I have not upgraded to 2.2 yet. But, this is helpful for understanding the package manager better.

    – mmoore
    Jul 10 '18 at 12:46











  • Did you ever find a solution to this? I'm looking to do the same in Pro 2.3.1

    – MCline
    yesterday











  • From within ArcGIS Pro, sys.executable will not point to a python.exe, it will point to arcgispro.exe, which will not understand the command line flags intended for pip. You will have to import pip and use it as shown in gis-professional's answer.

    – Jason Scheirer
    yesterday







5




5





Which version of ArcGIS Pro? Things changed at 2.2 in regards to the Python environment and Conda. I'd read: pro.arcgis.com/en/pro-app/arcpy/get-started/what-is-conda.htm

– KHibma
Jul 9 '18 at 19:33





Which version of ArcGIS Pro? Things changed at 2.2 in regards to the Python environment and Conda. I'd read: pro.arcgis.com/en/pro-app/arcpy/get-started/what-is-conda.htm

– KHibma
Jul 9 '18 at 19:33













I'm actually still on 2.1.3. I have not upgraded to 2.2 yet. But, this is helpful for understanding the package manager better.

– mmoore
Jul 10 '18 at 12:46





I'm actually still on 2.1.3. I have not upgraded to 2.2 yet. But, this is helpful for understanding the package manager better.

– mmoore
Jul 10 '18 at 12:46













Did you ever find a solution to this? I'm looking to do the same in Pro 2.3.1

– MCline
yesterday





Did you ever find a solution to this? I'm looking to do the same in Pro 2.3.1

– MCline
yesterday













From within ArcGIS Pro, sys.executable will not point to a python.exe, it will point to arcgispro.exe, which will not understand the command line flags intended for pip. You will have to import pip and use it as shown in gis-professional's answer.

– Jason Scheirer
yesterday





From within ArcGIS Pro, sys.executable will not point to a python.exe, it will point to arcgispro.exe, which will not understand the command line flags intended for pip. You will have to import pip and use it as shown in gis-professional's answer.

– Jason Scheirer
yesterday










2 Answers
2






active

oldest

votes


















1














In your python code, you can install a package using



import pip

pip.main(['install','package-name'])


Write this at top of your code.






share|improve this answer






























    0














    In 2.3.1 at least, you can install packages by going to "Python" in the starting menu and clicking "Add Packages". (I checked, 'pyodbc' is in the list of available packages.) This feature may be new, I haven't been using arcGIS for very long.



    conda install is also a good option, if what you're looking for isn't in the list of available packages in the Package Manager. Just make sure you've got the right environment.






    share|improve this answer








    New contributor




    meepit is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
    Check out our Code of Conduct.




















      Your Answer








      StackExchange.ready(function()
      var channelOptions =
      tags: "".split(" "),
      id: "79"
      ;
      initTagRenderer("".split(" "), "".split(" "), channelOptions);

      StackExchange.using("externalEditor", function()
      // Have to fire editor after snippets, if snippets enabled
      if (StackExchange.settings.snippets.snippetsEnabled)
      StackExchange.using("snippets", function()
      createEditor();
      );

      else
      createEditor();

      );

      function createEditor()
      StackExchange.prepareEditor(
      heartbeatType: 'answer',
      autoActivateHeartbeat: false,
      convertImagesToLinks: false,
      noModals: true,
      showLowRepImageUploadWarning: true,
      reputationToPostImages: null,
      bindNavPrevention: true,
      postfix: "",
      imageUploader:
      brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
      contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
      allowUrls: true
      ,
      onDemand: true,
      discardSelector: ".discard-answer"
      ,immediatelyShowMarkdownHelp:true
      );



      );













      draft saved

      draft discarded


















      StackExchange.ready(
      function ()
      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fgis.stackexchange.com%2fquestions%2f288907%2finstalling-python-module-within-code-and-running-from-arcgis-pro-script-tool%23new-answer', 'question_page');

      );

      Post as a guest















      Required, but never shown

























      2 Answers
      2






      active

      oldest

      votes








      2 Answers
      2






      active

      oldest

      votes









      active

      oldest

      votes






      active

      oldest

      votes









      1














      In your python code, you can install a package using



      import pip

      pip.main(['install','package-name'])


      Write this at top of your code.






      share|improve this answer



























        1














        In your python code, you can install a package using



        import pip

        pip.main(['install','package-name'])


        Write this at top of your code.






        share|improve this answer

























          1












          1








          1







          In your python code, you can install a package using



          import pip

          pip.main(['install','package-name'])


          Write this at top of your code.






          share|improve this answer













          In your python code, you can install a package using



          import pip

          pip.main(['install','package-name'])


          Write this at top of your code.







          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered yesterday









          gis-professionalgis-professional

          1,270420




          1,270420























              0














              In 2.3.1 at least, you can install packages by going to "Python" in the starting menu and clicking "Add Packages". (I checked, 'pyodbc' is in the list of available packages.) This feature may be new, I haven't been using arcGIS for very long.



              conda install is also a good option, if what you're looking for isn't in the list of available packages in the Package Manager. Just make sure you've got the right environment.






              share|improve this answer








              New contributor




              meepit is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
              Check out our Code of Conduct.
























                0














                In 2.3.1 at least, you can install packages by going to "Python" in the starting menu and clicking "Add Packages". (I checked, 'pyodbc' is in the list of available packages.) This feature may be new, I haven't been using arcGIS for very long.



                conda install is also a good option, if what you're looking for isn't in the list of available packages in the Package Manager. Just make sure you've got the right environment.






                share|improve this answer








                New contributor




                meepit is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                Check out our Code of Conduct.






















                  0












                  0








                  0







                  In 2.3.1 at least, you can install packages by going to "Python" in the starting menu and clicking "Add Packages". (I checked, 'pyodbc' is in the list of available packages.) This feature may be new, I haven't been using arcGIS for very long.



                  conda install is also a good option, if what you're looking for isn't in the list of available packages in the Package Manager. Just make sure you've got the right environment.






                  share|improve this answer








                  New contributor




                  meepit is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                  Check out our Code of Conduct.










                  In 2.3.1 at least, you can install packages by going to "Python" in the starting menu and clicking "Add Packages". (I checked, 'pyodbc' is in the list of available packages.) This feature may be new, I haven't been using arcGIS for very long.



                  conda install is also a good option, if what you're looking for isn't in the list of available packages in the Package Manager. Just make sure you've got the right environment.







                  share|improve this answer








                  New contributor




                  meepit is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                  Check out our Code of Conduct.









                  share|improve this answer



                  share|improve this answer






                  New contributor




                  meepit is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                  Check out our Code of Conduct.









                  answered yesterday









                  meepitmeepit

                  12




                  12




                  New contributor




                  meepit is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                  Check out our Code of Conduct.





                  New contributor





                  meepit is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                  Check out our Code of Conduct.






                  meepit is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                  Check out our Code of Conduct.



























                      draft saved

                      draft discarded
















































                      Thanks for contributing an answer to Geographic Information Systems Stack Exchange!


                      • Please be sure to answer the question. Provide details and share your research!

                      But avoid


                      • Asking for help, clarification, or responding to other answers.

                      • Making statements based on opinion; back them up with references or personal experience.

                      To learn more, see our tips on writing great answers.




                      draft saved


                      draft discarded














                      StackExchange.ready(
                      function ()
                      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fgis.stackexchange.com%2fquestions%2f288907%2finstalling-python-module-within-code-and-running-from-arcgis-pro-script-tool%23new-answer', 'question_page');

                      );

                      Post as a guest















                      Required, but never shown





















































                      Required, but never shown














                      Required, but never shown












                      Required, but never shown







                      Required, but never shown

































                      Required, but never shown














                      Required, but never shown












                      Required, but never shown







                      Required, but never shown







                      Popular posts from this blog

                      រឿង រ៉ូមេអូ និង ហ្ស៊ុយលីយេ សង្ខេបរឿង តួអង្គ បញ្ជីណែនាំ

                      Crop image to path created in TikZ? Announcing the arrival of Valued Associate #679: Cesar Manara Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern)Crop an inserted image?TikZ pictures does not appear in posterImage behind and beyond crop marks?Tikz picture as large as possible on A4 PageTransparency vs image compression dilemmaHow to crop background from image automatically?Image does not cropTikzexternal capturing crop marks when externalizing pgfplots?How to include image path that contains a dollar signCrop image with left size given

                      Romeo and Juliet ContentsCharactersSynopsisSourcesDate and textThemes and motifsCriticism and interpretationLegacyScene by sceneSee alsoNotes and referencesSourcesExternal linksNavigation menu"Consumer Price Index (estimate) 1800–"10.2307/28710160037-3222287101610.1093/res/II.5.31910.2307/45967845967810.2307/2869925286992510.1525/jams.1982.35.3.03a00050"Dada Masilo: South African dancer who breaks the rules"10.1093/res/os-XV.57.1610.2307/28680942868094"Sweet Sorrow: Mann-Korman's Romeo and Juliet Closes Sept. 5 at MN's Ordway"the original10.2307/45957745957710.1017/CCOL0521570476.009"Ram Leela box office collections hit massive Rs 100 crore, pulverises prediction"Archived"Broadway Revival of Romeo and Juliet, Starring Orlando Bloom and Condola Rashad, Will Close Dec. 8"Archived10.1075/jhp.7.1.04hon"Wherefore art thou, Romeo? To make us laugh at Navy Pier"the original10.1093/gmo/9781561592630.article.O006772"Ram-leela Review Roundup: Critics Hail Film as Best Adaptation of Romeo and Juliet"Archived10.2307/31946310047-77293194631"Romeo and Juliet get Twitter treatment""Juliet's Nurse by Lois Leveen""Romeo and Juliet: Orlando Bloom's Broadway Debut Released in Theaters for Valentine's Day"Archived"Romeo and Juliet Has No Balcony"10.1093/gmo/9781561592630.article.O00778110.2307/2867423286742310.1076/enst.82.2.115.959510.1080/00138380601042675"A plague o' both your houses: error in GCSE exam paper forces apology""Juliet of the Five O'Clock Shadow, and Other Wonders"10.2307/33912430027-4321339124310.2307/28487440038-7134284874410.2307/29123140149-661129123144728341M"Weekender Guide: Shakespeare on The Drive""balcony"UK public library membership"romeo"UK public library membership10.1017/CCOL9780521844291"Post-Zionist Critique on Israel and the Palestinians Part III: Popular Culture"10.2307/25379071533-86140377-919X2537907"Capulets and Montagues: UK exam board admit mixing names up in Romeo and Juliet paper"Istoria Novellamente Ritrovata di Due Nobili Amanti2027/mdp.390150822329610820-750X"GCSE exam error: Board accidentally rewrites Shakespeare"10.2307/29176390149-66112917639"Exam board apologises after error in English GCSE paper which confused characters in Shakespeare's Romeo and Juliet""From Mariotto and Ganozza to Romeo and Guilietta: Metamorphoses of a Renaissance Tale"10.2307/37323537323510.2307/2867455286745510.2307/28678912867891"10 Questions for Taylor Swift"10.2307/28680922868092"Haymarket Theatre""The Zeffirelli Way: Revealing Talk by Florentine Director""Michael Smuin: 1938-2007 / Prolific dance director had showy career"The Life and Art of Edwin BoothRomeo and JulietRomeo and JulietRomeo and JulietRomeo and JulietEasy Read Romeo and JulietRomeo and Julieteeecb12003684p(data)4099369-3n8211610759dbe00d-a9e2-41a3-b2c1-977dd692899302814385X313670221313670221