Forum Discussion
Error when running Python Visualisation Script in Power BI Service
Hi all,
I have built a Python visualisation script in Power BI Desktop which performs the following steps:
- Accepts an URL for an image in the dataset dataframe
- Retrieves the image from the external URL via an image reformatting service called rethumb.com
- Modifies the image
- Displays the image within the visualisation
This works perfectly in Power BI Desktop but when I upload the PBIX to Power BI Service I get the following error.
Traceback (most recent call last):
File "C:\Script\0.py", line 35, in <module>
img = mpimg.imread('https://api.rethumb.com/v1/width/900/format/png/'+dataset.iloc[0].R_CoverImage)
File "C:\Python\lib\site-packages\matplotlib\image.py", line 1363, in imread
fd = BytesIO(urllib.request.urlopen(fname).read())
File "C:\Python\Lib\urllib\request.py", line 222, in urlopen
return opener.open(url, data, timeout)
File "C:\Python\Lib\urllib\request.py", line 525, in open
response = self._open(req, data)
File "C:\Python\Lib\urllib\request.py", line 543, in _open
'_open', req)
File "C:\Python\Lib\urllib\request.py", line 503, in _call_chain
result = func(*args)
File "C:\Python\Lib\urllib\request.py", line 1360, in https_open
context=self._context, check_hostname=self._check_hostname)
File "C:\Python\Lib\urllib\request.py", line 1319, in do_open
raise URLError(err)
urllib.error.URLError: <urlopen error [Errno 11001] getaddrinfo failed>
Please try again later or contact support. If you contact support, please provide these details.My Google searches suggest that the error is caused by the hostname not being resolved so I'm guessing that the scripting engine within Power BI service does not have access to a DNS to complete the request.
Can anyone confirm this or suggest a walkaround?
Thanks,
Michael
4 Replies
- v-lili6-msftCommunity Support
HI, michaelstone
For your case, I would suggest you create a support ticket here to get further help.
submit a support ticket
Best Regards,
Lin
- AnonymousNot applicable
Hi, did you have any luck with this? I can't get imread or imshow to work in the service.
- michaelstoneHelper I
No.
Worked through with support but unfortuanately the Python functionality is sandboxed to restrict access to external content.
We are now using the Simple Image visualisation and overlay a Python visualisation on top to achieve the desired outcome.
Cheers,
Michael
- gonzalovacaNew Member
I am needing to do the same. It is been 2 years. Is there anyway to visualize an image from an external website?
import matplotlib.pyplot as plt import matplotlib.image as mpimg img = 'https://storage.googleapis.com/xxxxxxx/xxxxxx.svg.png' img = mpimg.imread(img) imgplot = plt.imshow(img) plt.axis('off') plt.tight_layout() plt.show()This works in PowerBI desktop, but not as powerBi service ?
Is it possible to do it from a network drive or local drive? please give some guidance.
Thanks!