# \[UAVCAN v0\] DSDL file paths in windows

**URL:** <https://forum.opencyphal.org/t/uavcan-v0-dsdl-file-paths-in-windows/969>\
**Category:** PyCyphal\
**Created:** [October 27, 2020, 7:37am UTC](https://forum.opencyphal.org/t/uavcan-v0-dsdl-file-paths-in-windows/969 "2020-10-27T07:37:15Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![deekay](https://forum.opencyphal.org/letter_avatar_proxy/v4/letter/d/8491ac/32.png) [@deekay](https://forum.opencyphal.org/u/deekay)\
**Post date:** [October 27, 2020, 7:37am UTC](https://forum.opencyphal.org/t/uavcan-v0-dsdl-file-paths-in-windows/969/1 "2020-10-27T07:37:15Z")

</div>

Hi!

I am using pyinstaller to generate a Windows .exe file out of my python project.  
When execuring the .exe file it complains about missing DSDL path (path goes to …/AppData/Local/Temp/… etc) when calling `load_dsdl()` from `uavcan/ __init__.py`

I can understand this. However, does anyone have an idea how to

1. include DSDL files into the pyinstaller generated package and make uavcan use them? Or
2. Specify relative paths in the python project so that stadnard DSDL files can be found at pre-defined location. The same for vendor\_specific\_types?

Or do I simply need to provide user input to both “dsdl\_files”- and “uavcan\_vendor\_specific\_types” paths and load them manually at startup?

Kinds Regards

---

<div class="post-metadata">

**Author:** ![pavel.kirienko](https://forum.opencyphal.org/user_avatar/forum.opencyphal.org/pavel.kirienko/32/9_2.png) [@pavel.kirienko](https://forum.opencyphal.org/u/pavel.kirienko)\
**Post date:** [October 27, 2020, 4:46pm UTC](https://forum.opencyphal.org/t/uavcan-v0-dsdl-file-paths-in-windows/969/2 "2020-10-27T16:46:38Z")

</div>

This application might help you as an example, perhaps. It does not use DSDL, but it uses other resource files packaged tohether with the executables using PyInstaller:

> **[GitHub - Zubax/kucher: GUI tool for the Telega motor control platform](https://github.com/Zubax/kucher)**
>
> GUI tool for the Telega motor control platform

---

<div class="post-metadata">

**Author:** ![deekay](https://forum.opencyphal.org/letter_avatar_proxy/v4/letter/d/8491ac/32.png) [@deekay](https://forum.opencyphal.org/u/deekay)\
**Post date:** [October 28, 2020, 6:26am UTC](https://forum.opencyphal.org/t/uavcan-v0-dsdl-file-paths-in-windows/969/3 "2020-10-28T06:26:52Z")

</div>

Thanks! I have a look.

---

<div class="post-metadata">

**Author:** ![deekay](https://forum.opencyphal.org/letter_avatar_proxy/v4/letter/d/8491ac/32.png) [@deekay](https://forum.opencyphal.org/u/deekay)\
**Post date:** [October 28, 2020, 11:54am UTC](https://forum.opencyphal.org/t/uavcan-v0-dsdl-file-paths-in-windows/969/4 "2020-10-28T11:54:46Z")

</div>

If I put my `own_namesace` folder with DSDL files in `$HOME/uavcan_vendor_specific_types`, and do not call load\_dsdl() from my own script, the parsed contents bewcomes present under `uavcan.thirdparty.own_namespace` as usual.

But if I call` load_dsdl([path])` with custom path to my namespace (have moved it from `$HOME/uavcan_vendor_specific_types` in to /tmp ) the `uavcan.thirdparty.own_namespace` is not present. Attached is a debug session screendump were `thirdparty` is missing `own_namespace`

 ![image](https://forum.opencyphal.org/uploads/default/original/1X/f6d5122c512668bce67b0bd1635f21b25aaf9ab6.png)

Am I doing something wrong or does load\_dsdl() behave differently when parsing custom path compared to `~/uavcan_vendor_specific_types` ?

---

<div class="post-metadata">

**Author:** ![deekay](https://forum.opencyphal.org/letter_avatar_proxy/v4/letter/d/8491ac/32.png) [@deekay](https://forum.opencyphal.org/u/deekay)\
**Post date:** [October 28, 2020, 3:50pm UTC](https://forum.opencyphal.org/t/uavcan-v0-dsdl-file-paths-in-windows/969/7 "2020-10-28T15:50:42Z")

</div>

Sorry… My fault. I cannot import thirdparty before loading dsdl…
