[Resolved] Error when upgrading SDV Enterprise

I tried to upgrade sdv enterprise by

pip install sdv_enterprise --upgrade --index-url https://pypi.datacebo.com --timeout 600 --no-cache-dir --trusted-host pypi.org --trusted-host pypi.python.org --trusted-host files.pythonhosted.org --trusted-host pypi.datacebo.com

and input the username and license key, but it gave this error

ERROR: Exception:
Traceback (most recent call last):
  File "C:\Users\yuntien.lee\Anaconda3\envs\python312\Lib\site-packages\pip\_internal\cli\base_command.py", line 179, in exc_logging_wrapper
    status = run_func(*args)
             ^^^^^^^^^^^^^^^
  File "C:\Users\yuntien.lee\Anaconda3\envs\python312\Lib\site-packages\pip\_internal\cli\req_command.py", line 67, in wrapper
    return func(self, options, args)
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\yuntien.lee\Anaconda3\envs\python312\Lib\site-packages\pip\_internal\commands\install.py", line 377, in run
    requirement_set = resolver.resolve(
                      ^^^^^^^^^^^^^^^^^
  File "C:\Users\yuntien.lee\Anaconda3\envs\python312\Lib\site-packages\pip\_internal\resolution\resolvelib\resolver.py", line 95, in resolve
    result = self._result = resolver.resolve(
                            ^^^^^^^^^^^^^^^^^
  File "C:\Users\yuntien.lee\Anaconda3\envs\python312\Lib\site-packages\pip\_vendor\resolvelib\resolvers.py", line 546, in resolve
    state = resolution.resolve(requirements, max_rounds=max_rounds)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\yuntien.lee\Anaconda3\envs\python312\Lib\site-packages\pip\_vendor\resolvelib\resolvers.py", line 397, in resolve
    self._add_to_criteria(self.state.criteria, r, parent=None)
  File "C:\Users\yuntien.lee\Anaconda3\envs\python312\Lib\site-packages\pip\_vendor\resolvelib\resolvers.py", line 173, in _add_to_criteria
    if not criterion.candidates:
           ^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\yuntien.lee\Anaconda3\envs\python312\Lib\site-packages\pip\_vendor\resolvelib\structs.py", line 156, in __bool__
    return bool(self._sequence)
           ^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\yuntien.lee\Anaconda3\envs\python312\Lib\site-packages\pip\_internal\resolution\resolvelib\found_candidates.py", line 174, in __bool__
    return any(self)
           ^^^^^^^^^
  File "C:\Users\yuntien.lee\Anaconda3\envs\python312\Lib\site-packages\pip\_internal\resolution\resolvelib\found_candidates.py", line 162, in <genexpr>
    return (c for c in iterator if id(c) not in self._incompatible_ids)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\yuntien.lee\Anaconda3\envs\python312\Lib\site-packages\pip\_internal\resolution\resolvelib\found_candidates.py", line 109, in _iter_built_with_inserted
    for version, func in infos:
  File "C:\Users\yuntien.lee\Anaconda3\envs\python312\Lib\site-packages\pip\_internal\resolution\resolvelib\factory.py", line 300, in iter_index_candidate_infos
    result = self._finder.find_best_candidate(
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\yuntien.lee\Anaconda3\envs\python312\Lib\site-packages\pip\_internal\index\package_finder.py", line 884, in find_best_candidate
    candidates = self.find_all_candidates(project_name)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\yuntien.lee\Anaconda3\envs\python312\Lib\site-packages\pip\_internal\index\package_finder.py", line 825, in find_all_candidates
    page_candidates = list(page_candidates_it)
                      ^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\yuntien.lee\Anaconda3\envs\python312\Lib\site-packages\pip\_internal\index\sources.py", line 194, in page_candidates
    yield from self._candidates_from_page(self._link)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\yuntien.lee\Anaconda3\envs\python312\Lib\site-packages\pip\_internal\index\package_finder.py", line 785, in process_project_url
    index_response = self._link_collector.fetch_response(project_url)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\yuntien.lee\Anaconda3\envs\python312\Lib\site-packages\pip\_internal\index\collector.py", line 448, in fetch_response
    return _get_index_content(location, session=self.session)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\yuntien.lee\Anaconda3\envs\python312\Lib\site-packages\pip\_internal\index\collector.py", line 352, in _get_index_content
    resp = _get_simple_response(url, session=session)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\yuntien.lee\Anaconda3\envs\python312\Lib\site-packages\pip\_internal\index\collector.py", line 131, in _get_simple_response
    resp = session.get(
           ^^^^^^^^^^^^
  File "C:\Users\yuntien.lee\Anaconda3\envs\python312\Lib\site-packages\pip\_vendor\requests\sessions.py", line 602, in get
    return self.request("GET", url, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\yuntien.lee\Anaconda3\envs\python312\Lib\site-packages\pip\_internal\network\session.py", line 522, in request
    return super().request(method, url, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\yuntien.lee\Anaconda3\envs\python312\Lib\site-packages\pip\_vendor\requests\sessions.py", line 589, in request
    resp = self.send(prep, **send_kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\yuntien.lee\Anaconda3\envs\python312\Lib\site-packages\pip\_vendor\requests\sessions.py", line 710, in send
    r = dispatch_hook("response", hooks, r, **kwargs)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\yuntien.lee\Anaconda3\envs\python312\Lib\site-packages\pip\_vendor\requests\hooks.py", line 30, in dispatch_hook
    _hook_data = hook(hook_data, **kwargs)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\yuntien.lee\Anaconda3\envs\python312\Lib\site-packages\pip\_internal\network\auth.py", line 524, in handle_401
    req = HTTPBasicAuth(username or "", password or "")(resp.request)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\yuntien.lee\Anaconda3\envs\python312\Lib\site-packages\pip\_vendor\requests\auth.py", line 95, in __call__
    r.headers["Authorization"] = _basic_auth_str(self.username, self.password)
                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\yuntien.lee\Anaconda3\envs\python312\Lib\site-packages\pip\_vendor\requests\auth.py", line 60, in _basic_auth_str
    password = password.encode("latin1")
               ^^^^^^^^^^^^^^^^^^^^^^^^^
UnicodeEncodeError: 'latin-1' codec can't encode character '\u2022' in position 0: ordinal not in range(256)

Can you help? Thanks.

Hi @yuntien.lee, yes we will definitely look into this. I will move this post and related replies into a separate thread so we can track the upgrade issue separately.

Some suggestions at-a-glance: The error message is interesting –

UnicodeEncodeError: ‘latin-1’ codec can’t encode character ‘\u2022’ in position 0: ordinal not in range(256)

I see that unicode \u2022 actually corresponds to a bullet point (•). Just to sanity check: If you are copy-pasting your username/password from somewhere, could you double-check that you haven’t accidentally copied any bullet points that may be near it (perhaps if username and password were supplied in a list)?

In the meantime, I will alert our engineers to look at this further. It may also be something on our end, and we will respond with more info shortly.

I see, i did use a wrong password, but when corrected it still gave an error.

WARNING: 401 Error, Credentials not correct for https://pypi.datacebo.com/sdv-enterprise/
Requirement already satisfied: rdt-outlier-encoder==0.13.0 in c:\users\yuntien.lee\.conda\envs\python312\lib\site-packages (from sdv_enterprise) (0.13.0)
Requirement already satisfied: sdmetrics-smoothness-similarity-metric==0.13.0 in c:\users\yuntien.lee\.conda\envs\python312\lib\site-packages (from sdv_enterprise) (0.13.0)
Requirement already satisfied: sdv-hsa==0.13.0 in c:\users\yuntien.lee\.conda\envs\python312\lib\site-packages (from sdv_enterprise) (0.13.0)
Requirement already satisfied: sdv.logging.utils==0.13.0 in c:\users\yuntien.lee\.conda\envs\python312\lib\site-packages (from sdv_enterprise) (0.13.0)
Requirement already satisfied: sdmetrics-outlier-coverage-metric==0.13.0 in c:\users\yuntien.lee\.conda\envs\python312\lib\site-packages (from sdv_enterprise) (0.13.0)
Requirement already satisfied: copulas-version==0.13.0 in c:\users\yuntien.lee\.conda\envs\python312\lib\site-packages (from sdv_enterprise) (0.13.0)
Requirement already satisfied: sdv-independent-synthesizer==0.13.0 in c:\users\yuntien.lee\.conda\envs\python312\lib\site-packages (from sdv_enterprise) (0.13.0)
Requirement already satisfied: sdv-dayzsynthesizer-multitable==0.13.0 in c:\users\yuntien.lee\.conda\envs\python312\lib\site-packages (from sdv_enterprise) (0.13.0)
Requirement already satisfied: sdv-data-processor==0.13.0 in c:\users\yuntien.lee\.conda\envs\python312\lib\site-packages (from sdv_enterprise) (0.13.0)
Requirement already satisfied: rdt-phone-number==0.13.0 in c:\users\yuntien.lee\.conda\envs\python312\lib\site-packages (from sdv_enterprise) (0.13.0)
Requirement already satisfied: rdt-email==0.13.0 in c:\users\yuntien.lee\.conda\envs\python312\lib\site-packages (from sdv_enterprise) (0.13.0)
Requirement already satisfied: rdt-address==0.13.0 in c:\users\yuntien.lee\.conda\envs\python312\lib\site-packages (from sdv_enterprise) (0.13.0)
Requirement already satisfied: sdmetrics-version==0.13.0 in c:\users\yuntien.lee\.conda\envs\python312\lib\site-packages (from sdv_enterprise) (0.13.0)
Requirement already satisfied: sdv-chained-inequality==0.13.0 in c:\users\yuntien.lee\.conda\envs\python312\lib\site-packages (from sdv_enterprise) (0.13.0)
Requirement already satisfied: rdt-regex-generator==0.13.0 in c:\users\yuntien.lee\.conda\envs\python312\lib\site-packages (from sdv_enterprise) (0.13.0)
Requirement already satisfied: sdv-metadata==0.13.0 in c:\users\yuntien.lee\.conda\envs\python312\lib\site-packages (from sdv_enterprise) (0.13.0)
Requirement already satisfied: rdt-gps==0.13.0 in c:\users\yuntien.lee\.conda\envs\python312\lib\site-packages (from sdv_enterprise) (0.13.0)
Requirement already satisfied: sdv-version==0.13.0 in c:\users\yuntien.lee\.conda\envs\python312\lib\site-packages (from sdv_enterprise) (0.13.0)
Requirement already satisfied: sdv-connectors-db==0.13.0 in c:\users\yuntien.lee\.conda\envs\python312\lib\site-packages (from sdv_enterprise) (0.13.0)
Requirement already satisfied: sdv-dayzsynthesizer-singletable==0.13.0 in c:\users\yuntien.lee\.conda\envs\python312\lib\site-packages (from sdv_enterprise) (0.13.0)
Requirement already satisfied: rdt-version==0.13.0 in c:\users\yuntien.lee\.conda\envs\python312\lib\site-packages (from sdv_enterprise) (0.13.0)
Requirement already satisfied: copulas<0.12,>=0.11.0 in c:\users\yuntien.lee\.conda\envs\python312\lib\site-packages (from copulas-version==0.13.0->sdv_enterprise) (0.11.0)
Requirement already satisfied: rdt<1.13,>=1.12.1 in c:\users\yuntien.lee\.conda\envs\python312\lib\site-packages (from rdt-address==0.13.0->sdv_enterprise) (1.12.1)
Requirement already satisfied: phonenumbers<9,>=8.12.39 in c:\users\yuntien.lee\.conda\envs\python312\lib\site-packages (from rdt-phone-number==0.13.0->sdv_enterprise) (8.13.36)
Requirement already satisfied: iso3166<3,>=2 in c:\users\yuntien.lee\.conda\envs\python312\lib\site-packages (from rdt-phone-number==0.13.0->sdv_enterprise) (2.1.1)
Requirement already satisfied: sdmetrics<0.15,>=0.14.0 in c:\users\yuntien.lee\.conda\envs\python312\lib\site-packages (from sdmetrics-outlier-coverage-metric==0.13.0->sdv_enterprise) (0.14.0)
Requirement already satisfied: pandas<2.3 in c:\users\yuntien.lee\.conda\envs\python312\lib\site-packages (from sdv-chained-inequality==0.13.0->sdv_enterprise) (2.2.1)

Hi @yuntien.lee, we’ve just re-sent you an email with the username and password we have on file for you. Could you try with the credentials in the email and let us know?

yes the credentials did work. thanks. now we would probably focus on dealing with or removing outliers.

Great thanks for confirming the installation. I will mark this particular thread as resolved and we will go back to the other one where we were discussing distribution shapes and outliers.