License key isn't being pasted correctly in SDV Installer

I’m creating this topic on behalf of @epicvu based on the discussions in this other thread.

Summary

When copy/pasting the license key from KeyPass using VSCODE, the license key doesn’t seem to be pasting correctly and yields the following message:

Error installing SDV Enterprise. This may be due to an invalid username/license key combo, or because your license key has expired. Please double-check that you re providing the right credentials. If you re continuing to experience issues, please reach out to the DataCebo team.

Other notes:

  • The same license key, when copy/pasted using the older, pip install instructions works fine
  • The same license key, when copy/pasted from an empty text file also works
  • The issue is intermittent and sometime works when a new VSCODE window is opened

@epicvu We’d like everyone to move to SDV Installer if possible. In the future,it may contain necessary features and checks that pip would not be able to do on its own.

You mention you prefer using the pip install – is this because you are able to put in the username/license key at once without having to do interactive input/output? We have an open feature request for adding username/license key as flags to SDV Installer. So hopefully it will mitigate that concern?

Debugging

To continue debugging your issues with SDV Installer, one thing to check is making sure you have the most up-to-date version. You can use this command to upgrade:

pip install sdv-installer --upgrade

Then find the version by running this on your terminal:

sdv-installer --version

The up-to-date version should be 0.0.2

In the meantime, our team will continue trying to replicate this issue as best we can.

Hello @neha,
This is a detailed recap of what I tried so far in order to debug the issue.

Specs to replicate

These are my specs:

  • Windows 11 with WSL Ubuntu 22.04 LTS
  • VSCode up to date
  • Python 3.11.14 → virtual env (one for Windows and one for WSL/Ubuntu)
  • Pip version 25.3 on both venvs (latest at the moment December 2nd 2025)
  • Password manager : KeyPass
  • sdv-installer 0.0.2 on both

On Windows

It “works” when I try on Windows for different ways of copy-paste. But when I want to specify the platform I am prompted with this :

(.venv) PS C:\Users\Charles VU\SDV_tests> sdv-installer download --folder .\sdv_folder\ --python-version 311 --platform musllinux_1_1_x86_64 --debug
Username: c.vu@epiconcept.fr
License Key: ********************************

Downloading SDV:

pip download sdv-enterprise==0.36.0 --index-url https://c.vu%40epiconcept.fr:****@pypi.datacebo.com/ --trusted-host pypi.org --trusted-host pypi.python.org --trusted-host files.pythonhosted.org --trusted-host pypi.datacebo.com --dest .\sdv_folder\ --only-binary=:all: --platform musllinux_1_1_x86_64 --python-version 311
Looking in indexes: https://c.vu%40epiconcept.fr:****@pypi.datacebo.com/
ERROR: Could not find a version that satisfies the requirement sdv-enterprise==0.36.0 (from versions: none)
ERROR: No matching distribution found for sdv-enterprise==0.36.0

Warning! Some packages that you have access to could not be downloaded. Please check your setup and contact DataCebo to troubleshoot.

Removing the --platform musllinux_1_1_x86_64 works, but I believe the files that I downloaded are for Windows.

On WSL

Password input

Now when I use WSL and use the specific venv, I tried pasting and inputing the password in a few different ways:

  • CTRL+C in my password manager and CTRL+V after inserting my username.
  • Right Click on KeyPass → Copy Password → Righ click in the VSCode Terminal
    Since right-click + copy password = Ctrl+C I kept using CTRL+C for the other 2 methods
  • CTRL+C on KeyPass → CTRL+V in a text editor file → CTRL+C from the text editor → CTRL+V in VSCode
  • CTRL+C on KeyPass → Right Click on VSCode
  • CTRL+C on KeyPass → CTRL+V in a text editor file → CTRL+C from the text editor → Right Click on VSCode
  • Tried to restard VSCode for each methods, have a new Terminal also for each methods.
  • Most painful one : typing the whole code by hand.

All of these printed this (BUT not all the time):

(venv) charles@DESKTOP-CVU:/mnt/c/Users/Charles VU/SDV_tests$ sdv-installer download --folder ./sdv_folder/ --python-version 311 --platform musllinux_1_1_x86_64 --debug
Username: c.vu@epiconcept.fr
License Key: ****************************
Error installing SDV Enterprise. This may be due to an invalid username/license key combo, or because your license key has expired. Please double-check that you're providing the right credentials. If you're continuing to experience issues, please reach out to the DataCebo team.

There are also paste errors and some of the * are replaced with the real character. I believe there might be an issue when pasting the password and it is probably only on the WSL side because it never happened on Windows.

When one of these tries decides to work (ratio 1-2/10), it then leads me to the next issue.

Special directory name issue in WSL

I know that it is not a common and good practice to have blankspaces in directories but I didn’t setup my profile at the time.

When it manages to work, since I have a space (between my first name and last name) in my user profile I am prompted of course with :

(venv) charles@DESKTOP-CVU:/mnt/c/Users/Charles VU/SDV_tests/$ sdv-installer download --folder ./sdv_folder/ --python-version 311 --platform musllinux_1_1_x86_64 --debug
Username: c.vu@epiconcept.fr
License Key: ********************************

Downloading SDV:

pip download sdv-enterprise==0.36.0 --index-url https://c.vu%40epiconcept.fr:****@pypi.datacebo.com/ --trusted-host pypi.org --trusted-host pypi.python.org --trusted-host files.pythonhosted.org --trusted-host pypi.datacebo.com --dest ./sdv_folder/ --only-binary=:all: --platform musllinux_1_1_x86_64 --python-version 311
Traceback (most recent call last):
  File "/mnt/c/Users/Charles VU/SDV_tests/venv/bin/sdv-installer", line 10, in <module>
    sys.exit(run_cli())
             ^^^^^^^^^
  File "/mnt/c/Users/Charles VU/SDV_tests/venv/lib/python3.11/site-packages/sdv_installer/cli/__main__.py", line 166, in run_cli
    args.action(args)
  File "/mnt/c/Users/Charles VU/SDV_tests/venv/lib/python3.11/site-packages/sdv_installer/cli/__main__.py", line 46, in download_action
    download_packages(
  File "/mnt/c/Users/Charles VU/SDV_tests/venv/lib/python3.11/site-packages/sdv_installer/authentication/authentication.py", line 81, in wrapper
    return function(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/mnt/c/Users/Charles VU/SDV_tests/venv/lib/python3.11/site-packages/sdv_installer/installation/installer.py", line 465, in download_packages
    _download_packages_action(
  File "/mnt/c/Users/Charles VU/SDV_tests/venv/lib/python3.11/site-packages/sdv_installer/installation/installer.py", line 264, in _download_packages_action
    _print_and_perform_action(
  File "/mnt/c/Users/Charles VU/SDV_tests/venv/lib/python3.11/site-packages/sdv_installer/installation/installer.py", line 181, in _print_and_perform_action
    base_package_statuses = _perform_pip_action(
                            ^^^^^^^^^^^^^^^^^^^^
  File "/mnt/c/Users/Charles VU/SDV_tests/venv/lib/python3.11/site-packages/sdv_installer/installation/installer.py", line 115, in _perform_pip_action
    process = subprocess.run(command.split())
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/subprocess.py", line 548, in run
    with Popen(*popenargs, **kwargs) as process:
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/subprocess.py", line 1026, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "/usr/lib/python3.11/subprocess.py", line 1955, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: '/mnt/c/Users/Charles'

Even if try specifying the whole path in the --folder value

(venv) charles@DESKTOP-CVU:/mnt/c/Users/Charles VU/SDV_tests/$ sdv-installer download --folder /mnt/c/Users/Charles\ VU/SDV_tests/sdv_folder/ --python-version 311 --platform musllinux_1_1_x86_64 --debug
Username: c.vu@epiconcept.fr
License Key: ********************************

Downloading SDV:

pip download sdv-enterprise==0.36.0 --index-url https://c.vu%40epiconcept.fr:****@pypi.datacebo.com/ --trusted-host pypi.org --trusted-host pypi.python.org --trusted-host files.pythonhosted.org --trusted-host pypi.datacebo.com --dest ./sdv_folder/ --only-binary=:all: --platform musllinux_1_1_x86_64 --python-version 311
Traceback (most recent call last):
  File "/mnt/c/Users/Charles VU/SDV_tests/venv/bin/sdv-installer", line 10, in <module>
    sys.exit(run_cli())
             ^^^^^^^^^
  File "/mnt/c/Users/Charles VU/SDV_tests/venv/lib/python3.11/site-packages/sdv_installer/cli/__main__.py", line 166, in run_cli
    args.action(args)
  File "/mnt/c/Users/Charles VU/SDV_tests/venv/lib/python3.11/site-packages/sdv_installer/cli/__main__.py", line 46, in download_action
    download_packages(
  File "/mnt/c/Users/Charles VU/SDV_tests/venv/lib/python3.11/site-packages/sdv_installer/authentication/authentication.py", line 81, in wrapper
    return function(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/mnt/c/Users/Charles VU/SDV_tests/venv/lib/python3.11/site-packages/sdv_installer/installation/installer.py", line 465, in download_packages
    _download_packages_action(
  File "/mnt/c/Users/Charles VU/SDV_tests/venv/lib/python3.11/site-packages/sdv_installer/installation/installer.py", line 264, in _download_packages_action
    _print_and_perform_action(
  File "/mnt/c/Users/Charles VU/SDV_tests/venv/lib/python3.11/site-packages/sdv_installer/installation/installer.py", line 181, in _print_and_perform_action
    base_package_statuses = _perform_pip_action(
                            ^^^^^^^^^^^^^^^^^^^^
  File "/mnt/c/Users/Charles VU/SDV_tests/venv/lib/python3.11/site-packages/sdv_installer/installation/installer.py", line 115, in _perform_pip_action
    process = subprocess.run(command.split())
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/subprocess.py", line 548, in run
    with Popen(*popenargs, **kwargs) as process:
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/subprocess.py", line 1026, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "/usr/lib/python3.11/subprocess.py", line 1955, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: '/mnt/c/Users/Charles'

I hope that it will help understand the issue!

Thanks @epicvu, this is very helpful. Really appreciate all the details. I will forward the copy/paste issues to the engineering team for further investigation. I hope we can get to the bottom of this soon!

For the other problem when there is a space in the directory name, it will be helpful to have another thread so we can discuss this separately. I have started a new thread and will respond more here: Download fails when there is a space in the directory name.

1 Like

Great thank you!

Hi @epicvu, just an update here that our team is still investigating. Right now, our hypothesis might be that this is a bug in WSL specifically. Your system might still be reporting that it’s Windows even though you’re running Linux, which could be causing parsing issues.

Someone on our end is now trying WSL with a Windows machine to replicate. In the meantime, if you are able to run this code and let us know what it prints out, that would be helpful. This would tell us if your system is reporting itself to be Windows or Linux.

(BTW I realized I had also missed your Q above about musllinux_1_1_x86_64. I will also start a new thread for it so it doesn’t get overlooked.)

Hi @neha, I ran the code in Windows Powershell and also WSL and here are the results for PS :

Operating System: Windows
Windows Version: 10.0.26200
Architecture: win-amd64
Python Version: 3.11.8
System Bit: 64-bit
pip Version: 25.2

Additional Information For Troubleshooting
Processor: Intel64 Family 6 Model 186 Stepping 3, GenuineIntel
Platform Tag: win_amd64

And for WSL :

Operating System: Linux
Linux Kernel Version: 6.6.87.2-microsoft-standard-WSL2
Linux Distribution: Ubuntu 22.04.5 LTS
Architecture: x86_64
Python Version: 3.11.14
System Bit: 64-bit
pip Version: 25.3

Additional Information For Troubleshooting
Processor: x86_64
Platform Tag: linux_x86_64

Thank you :slight_smile:

1 Like

Thanks @epicvu, this is very helpful. We will get back to you soon with more details.

In the meantime, I realized that I had missed another item you mentioned about the platform tag. I created a new thread to separately discuss that so it doesn’t get lost in this conversation about copy/pasting. You can find it here: Error when using a platform tag

Hi @epicvu, hope you’re doing well. The team is still looking into the problem with copy-paste on WSL. But in the meantime, I wanted to share that in our latest release, we added the ability to directly add your credentials into the command. Perhaps this will be able to solve your issue?

# first upgrade SDV Installer
% pip install sdv-installer --upgrade

# now you can input your username and license key directly into the command
% sdv-installer install --username user@company.com --license-key 123

# or alternatively you can pass in a JSON containing your credentials
% sdv-installer install --credentials my_credentials.json

More details are available in the Installation Guide and the SDV Installer Reference.

Let me know if that helps!

Hello @neha, really good thank you and happy new year to all the team! Thanks for the heads up! I saw the release and will try the new commands! I’ll update my workflow and update you with the results!

1 Like

So far it is working fine, there’s still a little issue with the fact that I have a blankspace in my workdir thus giving me an error. But overall, the implementation of credentials does work!

Great to hear! And yes, the team is still working on the blank space issue. We will provide an update for that separately.