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 token and where can I find it?

Your token is your unique key needed to configure the CLI.

  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.

How to generate a new token

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 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

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

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 the differences is given in the list below:

  • The apps you publish on the VIKTOR platform run on Linux. If you are using a virtual environment on Windows you will be running the app and its dependencies on Windows. Keep in mind that some external dependencies might not be available on Linux. During development the app will appear to be working without any problems, but using such dependencies will cause your app to break in production. You can find the information on which operating systems you can use for a certain package on the Python Package Index.

  • 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 dependency that is not available on Windows is Fiona, which is required by GeoPandas. Fiona in turn requires GDAL, which means you will have to download both wheels (fiona, gdal) and place them in your repository like this:

    my-app
    ├── app
    ├── local-wheels
    │ ├── Fiona-1.8.21-cp310-cp310-win_amd64.whl
    │ └── GDAL-3.4.3-cp310-cp310-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/GDAL-3.4.3-cp310-cp310-win_amd64.whl; platform_system == "Windows"
    ./local-wheels/Fiona-1.8.21-cp310-cp310-win_amd64.whl; platform_system == "Windows"
    fiona==1.8.21; platform_system != "Windows"
    geopandas==0.10.2
    caution

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

  • 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 only the folder containing the app is uploaded. If you access any resources outside this folder your app will not work.

  • 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.

  • 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.

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.