Skip to main content

Frequently Asked Questions

tip

Can’t find your question or solution here? Please reach out to our Community Forum, so our community can help you!

Account

What is my Personal Access Token and where can I find it?

Your Personal Access Token is a personal unique token, that can be used to securely access the API without needing a username and password. It looks something like: vktrpat_●●●●●●●●●●●●●●_●●●●●●●●●●●●●●●●●●●●●●●●●●. To access it:

  1. Log in to your VIKTOR environment ({company}.viktor.ai or cloud.viktor.ai)
  2. Go to the settings page by clicking the three dots next to your name in the top-right corner and after that clicking 'Settings'. Select the 'Access Tokens' tab.
  3. Click on Generate new personal access token.
  4. Copy the token and store it somewhere safe.

Storing your Personal Access Token

Your Personal Access Token can be used to access or alter your sensitive data. You should therefore treat it the same as a (username &) password. Make sure to securely store this token (e.g. in a password manager or Key Management System) and never store it directly in source-code or share it with someone else. If you cannot store it securely, consider rotating your token (by generating a new token) each time after use.

What is my developer token and where can I find it?

Your developer token is a unique key needed to configure the CLI. To access it:

  1. Log in to your VIKTOR environment ({company}.viktor.ai or cloud.viktor.ai)
  2. Go to the settings page by clicking the three dots next to your name in the top-right corner and after that clicking 'Settings'. Select the 'Developer Account' tab.
  3. Click on Generate new token.
  4. Copy the token and use it directly in the CLI configuration

How to generate a new token

Sharing your Developer Token

Your Developer Token can be used to access or alter your development data on your behalf. Make sure not to share it with anyone else.

Installing VIKTOR

Windows defender does not allow me to install the VIKTOR CLI

Sometimes, Windows defender prevents the CLI installer from running. To solve this:

  1. Click “More info”.
  2. Click on “Run anyway”.

Windows defender

How can I use VIKTOR within an enterprise IT environment?

It is possible that your company has set restrictions on either your machine or the company's network that cause problems when working with VIKTOR. If you want to use VIKTOR within an enterprise IT environment, please make sure that your machine meets all requirements. See the enterprise IT guide for more information.

Using the CLI

I get the error "the provided email address and token are not registered at VIKTOR. Please rerun the 'configure' command with valid credentials"

  • Do you have a VIKTOR account? If not, you can create one for free here.
  • Make sure you provide the email you used to create your account.
  • Make sure you are using a valid token. To generate a new token you need to log in to VIKTOR, click the three dots next to your name and select 'Settings'. Subsequently, select 'Developer Account' and click the 'Generate new token' button. The token can be inserted into the CLI by running the following command:
viktor-cli configure
  • If the steps above do not fix this problem for you, reach out to our community forum so that we can help you find a solution.

My command-line interface seems to be frozen

In case you accidentally clicked somewhere in the command prompt window, it could cause the process to freeze. You can resume the process by hitting enter. The frozen state can also completely be avoided by disabling "QuickEdit Mode":

  • Open a command prompt
  • Right-click the title bar and select "Properties"
  • Uncheck "QuickEdit Mode"
  • In addition, you can enable copy-pasting with Ctrl+C / Ctrl+V by deselecting "Use legacy console" and selecting "Enable Ctrl key shortcuts"
  • Restart the command prompt

I’m not able to install my app and get the error "Exiting because of an error: no requirements.txt file"

When you run viktor-cli install, you ask VIKTOR to install the app stored inside the folder where you run the command. The error occurs when there is no requirements.txt file in the folder, or there is no app stored in that folder at all. To solve the latter:

  1. Inside your command-line shell, first navigate to the folder with the app files.
  2. Then, run:
viktor-cli install

I get the error "Manifest is invalid: Manifest misses entity type XXXX, which is present in the database"

This error commonly occurs when you start a new app while the database still has information about a previously run app. The solution is to clear the database by running the following command in your command-line shell:

viktor-cli clear

I’m not able to install my app and get an SSLError

Some companies use a proxy that modifies the SSL certification chain. This may cause an error when installing Python packages. See the enterprise IT guide for possible solutions.

I get the error "ModuleNotFoundError: No module named "XXXX”"

This error commonly occurs when you try to use an external library in your app, but you did not install the library. You can solve this problem by:

  1. Open the requirements.txt file found in your app folder.
  2. Add the library name you want to use and save the file.
  3. Install your app again by running viktor-cli install in the command-line shell.
  4. Start your app with viktor-cli start.

For example, if you want to use NumPy in your app, the requirements.txt file should look something like this:

viktor==X.X.X
numpy

I use an Anaconda / Miniconda distribution of Python and I get an error while using VIKTOR

An error often seen when using Anaconda / Miniconda is a "SLL module not available" error.

The Anaconda distribution of Python is structured differently than the official distribution. Some modules (including the SSL module) are installed at a different location.

A solution to use VIKTOR with an Anaconda / Miniconda distribution is to use the viktor-cli from the Anaconda (Powershell) Prompt, instead of Windows' own Powershell. You can open the Anaconda (Powershell) Prompt from the Windows start menu.

Using Anaconda Prompt in PyCharm

In order to use the Anaconda Prompt within Pycharm, you can change the terminal path at settings -> tools -> terminal:

  1. Right-click 'Anaconda Powershell Prompt' in the start menu and select 'Open file location'.

  2. Right-click 'Anaconda Powershell Prompt' in file explorer and select 'Properties'.

  3. Under the tab 'Shortcut', copy the entry at 'Target', excluding the first part ending with ".exe".

    For example, if the entry at 'Target' is...

    %windir%\System32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy ByPass -NoExit -Command "& 'C:\ProgramData\Anaconda3\shell\condabin\conda-hook.ps1' ; conda activate 'C:\ProgramData\Anaconda3' "

    ...only copy:

    -ExecutionPolicy ByPass -NoExit -Command "& 'C:\ProgramData\Anaconda3\shell\condabin\conda-hook.ps1' ; conda activate 'C:\ProgramData\Anaconda3' "

  4. In PyCharm, go to settings -> tools -> terminal. Paste the above by appending to the existing powershell path (don't overwrite!) and press 'Apply' and 'OK'. This will then look similar to:

    powershell.exe -ExecutionPolicy ByPass -NoExit -Command "& 'C:\ProgramData\Anaconda3\shell\condabin\conda-hook.ps1' ; conda activate 'C:\ProgramData\Anaconda3' "

  5. Restart the terminal in PyCharm.

Running apps

When I open my app I get the error "failed to load the editor"

This error occurs when your app loses connection with the CLI, for example, because:

  1. You closed the command-line shell used to viktor-cli start your app.
  2. You were inactive for an extended period, and the CLI disconnected automatically.

The solution is simple. In your command-line shell, start your app again by running the following command:

viktor-cli start

How do I use a Python package which is not available on Windows?

Some dependencies do not provide a wheel for Windows on PyPI. In this case you can download unofficial Windows wheels provided by a third party such as Christoph Gohlke from the University of California. Because wheels are OS and Python version dependent, you will need to add environment markers to requirements.txt for condition-based installation of dependencies.

An example implementation is shown below for some_dependency that doesn't provide Windows wheels on PyPI. In that case your app can be structured as follows:

my-app
├── app
├── local-wheels
│ └── some_dependency-1.0.0-cp312-cp312-win_amd64.whl
├── requirements.txt
└── viktor.config.toml

and refer to the wheel in the requirements.txt as shown below:

viktor==X.X.X
./local-wheels/some_dependency-1.0.0-cp312-cp312-win_amd64.whl; platform_system == "Windows"
some_dependency==1.0.0; platform_system != "Windows"
caution

Make sure to use CPython wheels, recognized by the 'cp' tag in the wheel's name (e.g. -cp312-cp312-)

Why is my published application not behaving the same as during development?

The apps you publish on the VIKTOR platform run on Linux. When you choose to develop using a Python virtual environment (venv), there will be several differences with respect to published apps on the platform. It is good to be aware of these differences to prevent unexpected errors after publishing an app. An overview of most common issues are listed below:

Python package works during development but not in production

If you are using a virtual environment on Windows you will be running the app and its Python dependencies on Windows. Some Python dependencies are not available on Linux, causing your app to break in production while it works without any problems during development. You can find the information on which operating systems you can use for a certain package on the Python Package Index.

Python feature works during development but not in production

The application can be published on a specific Python version by setting the python_version in the viktor.config.toml file, which could differ from the Python version you are using for development. If you are developing with a newer version, please make sure that you are not using features that are not supported by the Python version used for publishing.

System dependencies work during development but not in production

If you are using a virtual environment during development, you will be able to use Python packages that require system dependencies (e.g. OpenCV). System dependencies can be included in your published application by setting the packages in the viktor.config.toml file.

I can access my filesystem during development but not in production

When using a Python virtual environment as isolation mode it is possible to access the entire filesystem from the app code during development. If you publish an application on the platform however, only the folder containing the app is uploaded. If you access any resources outside this folder your app will not work.

My application is working during development but running out of memory in production

It is not possible to limit the memory usage of the Python process when using a virtual environment. Please keep in mind that standard apps on the platform have 500 MB of RAM available. Memory heavy operations that work in your virtual environment might not work in production.

Docker

I am experiencing network / WiFi problems after changes in Hyper-V settings

If one experiences network or WiFi problems after turning on Hyper-V, then possible solutions are described on the Docker website. This is a known issue that sometimes occurs during the Docker installation.

I get the error "Deny write access to fixed drives not protected by Bitlocker"

Please see https://github.com/docker/for-win/issues/1297 for more information.

I get a warning "WARNING: Running pip as the 'root' user..." when I install my app

You can ignore this warning.