Start Free Trial

Alteryx Designer Desktop Discussions

Find answers, ask questions, and share expertise about Alteryx Designer Desktop and Intelligence Suite.

Python Tool: PermissionError when accessing UNC path in Alteryx Server

Gratus_tz
8 - Asteroid

 

Hi Community,

I'm running a Python-based workflow on Alteryx Server that attempts to read a Word template stored on a shared network folder using the  python-docx library.

The same workflow works perfectly in Alteryx Designer on my machine, but when I run it on the Server , I get the following error:

 

yaml
PermissionError: [Errno 13] Permission denied: '\\\\<internal-server>\\<shared-folder>\\...\\Letter of Engagement.docx' FileNotFoundError: Could not access template. Reason: [Errno 13] Permission denied: '\\\\<internal-server>\\<shared-folder>\\...\\Letter of Engagement.docx' (ToolId: 17)
 

I have confirmed that:

  • The file exists at the location

  • It is accessible from the server desktop

  • Other tools (like Output Tool) can write to the same location

  • The Python code works in Designer using the same path

Questions:

  1. Are there specific permissions or sandbox restrictions that affect the Python Tool in Server mode?

  2. Does the Python Tool run under a different context than the rest of the engine?

  3. What is the best practice for accessing UNC paths using Python in a Server-safe way?

Happy to provide code or more logs if needed. Appreciate any help or insights!

Thanks,

1 REPLY 1
apathetichell
20 - Arcturus

Lets' go through your questions:

 

1) --- not natively in Alteryx - but yes --- your company can do this. This would be at a your company level -- -not an Alteryx level.

2) ---- see note above. Python at Server may function differently than python locally because packages installed locally may not be installed on Server.

3) --- that sounds right --- but I'd recommend a) looking at 1) --- and b) checking out connectivity from the worker node not the main server to that UNC path. 

 

4--- recommendation --- if you are dynamically feeding the same path into your output tool (and it's working)--- try capturing the paths sent to both in a dummy file (yxdb/csv) --- pick them up after running on server --- and confirm that the path sent to the python tool on server is the path you are expecting.

Labels
Top Solution Authors