Virtual Environments¶
Developing in a Virtual Environment¶
We recommend that you develop your custom plugins inside a virtual environment. This creates an isolated development environment that minimizes the risk of creating a package that Alteryx Designer and other users won’t be able to use. It does this by keeping the dependencies required by different projects separate.
Workspace Setup¶
Make sure to create a new virtual environment with Python version 3.8 before you
initialize your SDK workspace. With Conda, the command is conda create --name <env_name>
.
3rd-party Packages¶
During development, if you need 3rd-party dependencies for your custom plugin,
make sure to add these requirements to the requirements-thirdparty.txt
file.
You should add any locally-created packages that become dependencies to the
requirements-local.txt
file.
Best Practices¶
Your virtual environment should only include libraries that help you develop the plugin.
Make sure to remove libraries that were installed but not used. This ensures a clean
list of dependencies for installs on end-user systems. List any packages that are explicitly
imported or required by the plugin in requirements-thirdparty.txt
.
In general, anytime you use pip install
to add a dependency to your plugin,
you should update the requirements-thirdparty.txt
file. To automatically
generate a requirements file for all packages that are part of the
current virtual environment, use the pip freeze > list-of-requirements.txt
command.
You will need to prune this file to remove any dependencies that aren’t
explicitly imported or required by your plugin. Do this before you copy/overwrite the contents to the
requirements-thirdparty.txt
file that is created as part of the workspace initialization.
The file exists under /backend/requirements-thirdparty.txt
.