cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
mavsuperman
New Member

Running Python Scripts & Required Modules

I've been using PAD for a few weeks now and am really liking it.  I've started to automate some things at work and have been using Python successfully until I started using scripts to query API's.  I first have to import requests, which gives me an error saying no module exists for requests.  When I point the Python script step to the path for the modules, I continue to get the same error.  I found the parent folder for requests is in site-packages, so I pointed it there, but it continues to complain about not having other modules.  I then created a new folder, copied the Python modules here and also put those from site-packages in the root here so everything is under the same directory.  However, this creates errors such as this:

 

File "C:\Users\Administrator\Documents\Modules\logging\__init__.py", line 1477
def exception(self, msg, *args, exc_info=True, **kwargs):
^
SyntaxError: unexpected token 'exc_info'

 

Not sure what to do here.  Has anyone else experienced this with Python modules and PAD?

7 REPLIES 7
burque505
Helper V
Helper V

Might I ask if you have imported 'sys'? If not, try the code below and change the path to the folder where the Python modules now are.

 

 

import sys
sys.path.append(r"c:\Python27\Lib")

 

 

Thank you for the reply.  I added these 3 lines to the top of the script:

 

import sys
sys.path.append(r"C:\Users\Administrator\AppData\Local\Programs\Python\Python39\Lib")
sys.path.append(r"C:\Users\Administrator\AppData\Local\Programs\Python\Python39\Lib\site-packages")

 

However, I'm getting the same error from my original post 😞

burque505
Helper V
Helper V

If I'm not mistaken you'll need to install Python 2.7 somewhere and use those modules, not Python 3.*. My recommendation would be to install it to C:\Python27, and don't add it to your path. You may want to search for running different Python versions on the same machine. You can look at Install-Python-2-and-3-on-same-Computer , for instance. User hpenvy's post describes what I'm suggesting:

 

Download the 2.7.7 installer package.
Install it and, this time, do NOT accept the defaults. Specifically, remove the “Register Extensions” option from installing.

 

 

You may see some other options - if you do, just make sure the installer DOES NOT update your Windows PATH environment variable. It might be a good idea to back that variable up just in case.

Now you'll have a Python 2.7 installation that won't interfere with your 3.9, if it's done right. All you need this for is the path to the Python 2.7 modules.

I didn't necessarily need python 3.9 on this dev VM, so I removed it.  I installed Python 2.7 using the method listed.  I then adjusted the import sys paths to this:

 

sys.path.append(r"C:\Python27\Lib")
sys.path.append(r"C:\Python27\Lib\site-packages")

 

I get a new error, but I suspect it's similar to the original issue:

 

Traceback (most recent call last):
File "<string>", line 16, in <module>
File "C:\Python27\Lib\site-packages\requests\api.py", line 61, in request
File "C:\Python27\Lib\site-packages\requests\sessions.py", line 528, in request
File "C:\Python27\Lib\site-packages\requests\sessions.py", line 456, in prepare_request
File "C:\Python27\Lib\site-packages\requests\models.py", line 382, in prepare_url
File "C:\Python27\Lib\site-packages\urllib3\packages\six.py", line 951, in ensure_str
File "C:\Python27\Lib\site-packages\requests\models.py", line 316, in prepare
File "C:\Python27\Lib\site-packages\urllib3\util\url.py", line 381, in parse_url
File "C:\Python27\Lib\site-packages\urllib3\util\url.py", line 296, in _normalize_host
TypeError: not expecting type '<type 'bytes'>'

burque505
Helper V
Helper V

I suspect you're close to solving it.

Are you free to post the Python code that throws the error? Does it work in Python 3?

Without seeing any code this is only a guess, but for Python 2, you may be able to avoid the error by using

 

 

response.content

 

 

or maybe

 

 

response.raw

 

 

instead of

 

 

response.text

 

 

The error looks to me like the script is receiving an array of bytes instead of an expected string.

This SO post may help.

 

Also, remember the Python 2 requirement to prepend 'u' to Unicode strings. Here's some codegrepper.com code  to illustrate that:

 

>>> r = requests.get('https://api.github.com/user', auth=('user', 'pass'))
>>> r.status_code
200
>>> r.headers['content-type']
'application/json; charset=utf8'
>>> r.encoding
'utf-8'
>>> r.text
u'{"type":"User"...'
>>> r.json()
{u'private_gists': 419, u'total_private_repos': 77, ...}

You can also try (from your Python 2.7 installation)

python -m pip install future

 

 

mavsuperman
New Member

I removed some of the data, but here's the majority of it:

 

 

import sys
sys.path.append(r"C:\Python27\Lib")
sys.path.append(r"C:\Python27\Lib\site-packages")
import requests
import json

url = "removed"

headers = {
  'Accept': 'application/json',
  'Content-Type': 'application/json',
  'Authorization': 'removed',
  'Cookie': 'removed'
}

response = requests.request("GET", url, headers=headers)
#data = response.text
#parsed = json.loads(data)

data = json.loads(response.text)
for d in data:
  print(d['profile']['manager'])

 

 

I got most of this code from Postman when getting the API query to work.

 

Thank you for your help!

burque505
Helper V
Helper V

The code will have to run in Python 2.7 before you can run it in PAD, of course.  In the code you posted, at the very least this statement should fail, as it's Python 3* syntax:

 

 

print(d['profile']['manager'])

 

 

But you could try putting this at the top of your script to see if it helps (and assuming either you've already installed 'future' via pip or that the 'future' module is supplied with your Python 2.7 installation, which is certainly possible and even likely):

 

from __future__ import print_function

 

 

Also, your error message shows a failure at line 16, which is probably this one:

 

 

response = requests.request("GET", url, headers=headers)

 

 

Regardless of whether I'm right or wrong about the above, you should try modifying your Python script directly from your Python 2.7 installation until you get it to work. If it doesn't work in PAD after that, then there's some inconsistency with IronPython.

 

Helpful resources

Announcements

Power Platform Connections - Episode 7 | March 30, 2023

Episode Seven of Power Platform Connections sees David Warner and Hugo Bernier talk to Microsoft MVP Dian Taylor, alongside the latest news, product reviews, and community blogs.     Use the hashtag #PowerPlatformConnects on social media for a chance to have your work featured on the show!      Show schedule in this episode:    0:00 Cold Open 00:30 Show Intro 01:02 Dian Taylor Interview 18:03 Blogs & Articles 26:55 Outro & Bloopers    Check out the blogs and articles featured in this week’s episode:    https://francomusso.com/create-a-drag-and-drop-experience-to-upload-case-attachments @crmbizcoach https://www.youtube.com/watch?v=G3522H834Ro​/  @pranavkhuranauk https://github.com/pnp/powerapps-designtoolkit/tree/main/materialdesign%20components @MMe2K​ https://2die4it.com/2023/03/27/populate-a-dynamic-microsoft-word-template-in-power-automate-flow/ @StefanS365 https://d365goddess.com/viva-sales-administrator-settings/ @D365Goddess https://marketplace.visualstudio.com/items?itemName=megel.mme2k-powerapps-helper#Visualize_Dataverse_Environments @MMe2K    Action requested:  Feel free to provide feedback on how we can make our community more inclusive and diverse.    This episode premiered live on our YouTube at 12pm PST on Thursday 30th March 2023.    Video series available at Power Platform Community YouTube channel.    Upcoming events:  Business Applications Launch – April 4th – Free and Virtual! M365 Conference - May 1-5th - Las Vegas Power Apps Developers Summit – May 19-20th - London European Power Platform conference – Jun. 20-22nd - Dublin Microsoft Power Platform Conference – Oct. 3-5th - Las Vegas    Join our Communities:  Power Apps Community Power Automate Community Power Virtual Agents Community Power Pages Community    If you’d like to hear from a specific community member in an upcoming recording and/or have specific questions for the Power Platform Connections team, please let us know. We will do our best to address all your requests or questions.       

Announcing | Super Users - 2023 Season 1

Super Users – 2023 Season 1    We are excited to kick off the Power Users Super User Program for 2023 - Season 1.  The Power Platform Super Users have done an amazing job in keeping the Power Platform communities helpful, accurate and responsive. We would like to send these amazing folks a big THANK YOU for their efforts.      Super User Season 1 | Contributions July 1, 2022 – December 31, 2022  Super User Season 2 | Contributions January 1, 2023 – June 30, 2023    Curious what a Super User is? Super Users are especially active community members who are eager to help others with their community questions. There are 2 Super User seasons in a year, and we monitor the community for new potential Super Users at the end of each season. Super Users are recognized in the community with both a rank name and icon next to their username, and a seasonal badge on their profile.  Power Apps  Power Automate  Power Virtual Agents  Power Pages  Pstork1*  Pstork1*  Pstork1*  OliverRodrigues  BCBuizer  Expiscornovus*  Expiscornovus*  ragavanrajan  AhmedSalih  grantjenkins  renatoromao    Mira_Ghaly*  Mira_Ghaly*      Sundeep_Malik*  Sundeep_Malik*      SudeepGhatakNZ*  SudeepGhatakNZ*      StretchFredrik*  StretchFredrik*      365-Assist*  365-Assist*      cha_cha  ekarim2020      timl  Hardesh15      iAm_ManCat  annajhaveri      SebS  Rhiassuring      LaurensM  abm      TheRobRush  Ankesh_49      WiZey  lbendlin      Nogueira1306  Kaif_Siddique      victorcp  RobElliott      dpoggemann  srduval      SBax  CFernandes      Roverandom  schwibach      Akser  CraigStewart      PowerRanger  MichaelAnnis      subsguts  David_MA      EricRegnier  edgonzales      zmansuri  GeorgiosG      ChrisPiasecki  ryule      AmDev  fchopo      phipps0218  tom_riha      theapurva  takolota     Akash17  momlo     BCLS776  Shuvam-rpa     rampprakash  ScottShearer     Rusk  ChristianAbata     cchannon  Koen5     a33ik  Heartholme     AaronKnox  okeks      Matren   David_MA     Alex_10        Jeff_Thorpe        poweractivate        Ramole        DianaBirkelbach        DavidZoon        AJ_Z        PriyankaGeethik        BrianS        StalinPonnusamy        HamidBee        CNT        Anonymous_Hippo        Anchov        KeithAtherton        alaabitar        Tolu_Victor        KRider        sperry1625        IPC_ahaas      zuurg    rubin_boer   cwebb365   Dorrinda   G1124   Gabibalaban   Manan-Malhotra   jcfDaniel   WarrenBelz   Waegemma   drrickryp   GuidoPreite    If an * is at the end of a user's name this means they are a Multi Super User, in more than one community. Please note this is not the final list, as we are pending a few acceptances.  Once they are received the list will be updated. 

Register now for the Business Applications Launch Event | Tuesday, April 4, 2023

Join us for an in-depth look into the latest updates across Microsoft Dynamics 365 and Microsoft Power Platform that are helping businesses overcome their biggest challenges today.   Find out about new features, capabilities, and best practices for connecting data to deliver exceptional customer experiences, collaborating, and creating using AI-powered capabilities, driving productivity with automation—and building towards future growth with today’s leading technology.   Microsoft leaders and experts will guide you through the full 2023 release wave 1 and how these advancements will help you: Expand visibility, reduce time, and enhance creativity in your departments and teams with unified, AI-powered capabilities.Empower your employees to focus on revenue-generating tasks while automating repetitive tasks.Connect people, data, and processes across your organization with modern collaboration tools.Innovate without limits using the latest in low-code development, including new GPT-powered capabilities.    Click Here to Register Today!    

Check out the new Power Platform Communities Front Door Experience!

We are excited to share the ‘Power Platform Communities Front Door’ experience with you!   Front Door brings together content from all the Power Platform communities into a single place for our community members, customers and low-code, no-code enthusiasts to learn, share and engage with peers, advocates, community program managers and our product team members. There are a host of features and new capabilities now available on Power Platform Communities Front Door to make content more discoverable for all power product community users which includes ForumsUser GroupsEventsCommunity highlightsCommunity by numbersLinks to all communities Users can see top discussions from across all the Power Platform communities and easily navigate to the latest or trending posts for further interaction. Additionally, they can filter to individual products as well.   Users can filter and browse the user group events from all power platform products with feature parity to existing community user group experience and added filtering capabilities.     Users can now explore user groups on the Power Platform Front Door landing page with capability to view all products in Power Platform.      Explore Power Platform Communities Front Door today. Visit Power Platform Community Front door to easily navigate to the different product communities, view a roll up of user groups, events and forums.

Microsoft Power Platform Conference | Registration Open | Oct. 3-5 2023

We are so excited to see you for the Microsoft Power Platform Conference in Las Vegas October 3-5 2023! But first, let's take a look back at some fun moments and the best community in tech from MPPC 2022 in Orlando, Florida.   Featuring guest speakers such as Charles Lamanna, Heather Cook, Julie Strauss, Nirav Shah, Ryan Cunningham, Sangya Singh, Stephen Siciliano, Hugo Bernier and many more.   Register today: https://www.powerplatformconf.com/   

Users online (1,702)