posit-dev / posit-dev/rsconnect-python

ValueError: The "" URL scheme is not supported.

Ouverte
#699 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Langage dominant
Python
Étoiles
37
Forks
28
Merge moyen
1 j 3 h
PR mergées (30 j)
7

Description

I get penguins.qmd from https://quarto.org/docs/dashboards/interactivity/shiny-python/index.html

I create a venv with the requirements:

uv venv -p 3.13.5
uv pip install shiny shinywidgets jupyter seaborn
source .venv/bin/activate

I can now see the app I expect in Firefox after using quarto preview penguins.qmd in bash.

I'd like to deploy it to Connect from the CLI. Because it has interactive content, I need to use rsconnect deploy rather than quarto deploy.

~/src/quarto-python-shiny via 🐍 v3.13.5 (quarto-python-shiny) via ⨁ v1.7.32 
[ 15:55:19 ] ❯ rsconnect deploy quarto penguins.qmd 
Inspecting Quarto project...                     [OK]
Inspecting Python environment...                     Warning: Python version constraint missing from pyproject.toml, setup.cfg or .python-version
             Connect will guess the version to use based on local environment.
             Consider specifying a Python version constraint.
[OK]
Traceback (most recent call last):
  File "/home/lsimpson/src/quarto-python-shiny/.venv/lib/python3.13/site-packages/rsconnect/main.py", line 118, in wrapper
    result = func(*args, **kwargs)
  File "/home/lsimpson/src/quarto-python-shiny/.venv/lib/python3.13/site-packages/click/decorators.py", line 34, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "/home/lsimpson/src/quarto-python-shiny/.venv/lib/python3.13/site-packages/rsconnect/main.py", line 1315, in deploy_quarto
    ce = RSConnectExecutor(
        ctx=ctx,
    ...<12 lines>...
        env_vars=env_vars,
    )
  File "/home/lsimpson/src/quarto-python-shiny/.venv/lib/python3.13/site-packages/rsconnect/api.py", line 771, in __init__
    self.setup_client(cookies)
    ~~~~~~~~~~~~~~~~~^^^^^^^^^
  File "/home/lsimpson/src/quarto-python-shiny/.venv/lib/python3.13/site-packages/rsconnect/api.py", line 927, in setup_client
    self.client = RSConnectClient(self.remote_server, cookies)
                  ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/lsimpson/src/quarto-python-shiny/.venv/lib/python3.13/site-packages/rsconnect/api.py", line 382, in __init__
    super().__init__(
    ~~~~~~~~~~~~~~~~^
        append_to_path(server.url, "__api__"),
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...<2 lines>...
        cookies,
        ^^^^^^^^
    )
    ^
  File "/home/lsimpson/src/quarto-python-shiny/.venv/lib/python3.13/site-packages/rsconnect/http_support.py", line 238, in __init__
    raise ValueError('The "%s" URL scheme is not supported.' % self._url.scheme)
ValueError: The "" URL scheme is not supported.
Internal error: The "" URL scheme is not supported.

From the log output, it isn't clear if I have done something wrong, or if this is an issue with rsconnect.

Note that I get the same error when I run sconnect deploy shiny . --entrypoint app.py

~/src/quarto-python-shiny via 🐍 v3.13.5 (quarto-python-shiny) via ⨁ v1.7.32 
[ 16:14:50 ] ❯ rsconnect deploy shiny . --entrypoint app.py
    Warning: Python version constraint missing from pyproject.toml, setup.cfg or .python-version
             Connect will guess the version to use based on local environment.
             Consider specifying a Python version constraint.
Traceback (most recent call last):
  File "/home/lsimpson/src/quarto-python-shiny/.venv/lib/python3.13/site-packages/rsconnect/main.py", line 118, in wrapper
    result = func(*args, **kwargs)
  File "/home/lsimpson/src/quarto-python-shiny/.venv/lib/python3.13/site-packages/click/decorators.py", line 34, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "/home/lsimpson/src/quarto-python-shiny/.venv/lib/python3.13/site-packages/rsconnect/main.py", line 1674, in deploy_app
    ce = RSConnectExecutor(
        ctx=ctx,
    ...<16 lines>...
        env_vars=env_vars,
    )
  File "/home/lsimpson/src/quarto-python-shiny/.venv/lib/python3.13/site-packages/rsconnect/api.py", line 771, in __init__
    self.setup_client(cookies)
    ~~~~~~~~~~~~~~~~~^^^^^^^^^
  File "/home/lsimpson/src/quarto-python-shiny/.venv/lib/python3.13/site-packages/rsconnect/api.py", line 927, in setup_client
    self.client = RSConnectClient(self.remote_server, cookies)
                  ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/lsimpson/src/quarto-python-shiny/.venv/lib/python3.13/site-packages/rsconnect/api.py", line 382, in __init__
    super().__init__(
    ~~~~~~~~~~~~~~~~^
        append_to_path(server.url, "__api__"),
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...<2 lines>...
        cookies,
        ^^^^^^^^
    )
    ^
  File "/home/lsimpson/src/quarto-python-shiny/.venv/lib/python3.13/site-packages/rsconnect/http_support.py", line 238, in __init__
    raise ValueError('The "%s" URL scheme is not supported.' % self._url.scheme)
ValueError: The "" URL scheme is not supported.
Internal error: The "" URL scheme is not supported.

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Reproduisez l’échec avec les commandes indiquées rsconnect deploy quarto et rsconnect deploy shiny. Commencez dans rsconnect/api.py, au niveau de RSConnectExecutor.setup_client et RSConnectClient, puis examinez rsconnect/http_support.py, où le schéma d’URL est rejeté. La tâche sera terminée si elle inclut un correctif vérifié ou un diagnostic plus clair pour l’URL de serveur vide.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
python
Domaine
cli
Type d'issue
Bug
Difficulté
3/5
Temps estimé
1-2 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.