J'essaie actuellement de se connecter à mon compte Dropbox à l'aide de la touche API de Python. Lorsque je n'utilise pas l'environnement virtuel, je suis capable d'obtenir mes informations de profil du code ci-dessous.

import dropbox

d = dropbox.Dropbox("myAPIkey")

print(d.users_get_current_account())

Mais quand j'exécute le code en utilisant mon Python Venv, je reçois cette erreur

        Traceback (most recent call last):

Fichier "C: \ Utilisateurs \ User \ AppData \ Local \ Programmes \ Python \ Python38-32 \ lib \ Site-packages \ Urllib3 \ util \ Urllib3 \ util \ timeout.py", ligne 142, in _validate_timeout flotter (valeur) TypeError: flotteur () L'argument doit être une chaîne ou un nombre, pas "délai d'attente"

Lors du traitement de l'exception ci-dessus, une autre exception s'est produite:

Traceback (most recent call last):
  File "d:/Desktop/FYP/FYP-TheBoyes/dropbox_tester.py", line 8, in <module>
    print(d.users_get_current_account())
  File "c:\users\user\appdata\local\programs\python\python38-32\lib\site-packages\dropbox\base.py", line 5216, in users_get_current_account
    r = self.request(
  File "c:\users\user\appdata\local\programs\python\python38-32\lib\site-packages\dropbox\dropbox_client.py", line 321, in request
    res = self.request_json_string_with_retry(host,
  File "c:\users\user\appdata\local\programs\python\python38-32\lib\site-packages\dropbox\dropbox_client.py", line 476, in request_json_string_with_retry
    return self.request_json_string(host,
  File "c:\users\user\appdata\local\programs\python\python38-32\lib\site-packages\dropbox\dropbox_client.py", line 588, in request_json_string
    r = self._session.post(url,
  File "d:\Desktop\FYP\FYP-Django\venv\lib\site-packages\requests\sessions.py", line 522, in post
    return self.request('POST', url, data=data, json=json, **kwargs)
  File "d:\Desktop\FYP\FYP-Django\venv\lib\site-packages\requests\sessions.py", line 475, in request
    resp = self.send(prep, **send_kwargs)
  File "d:\Desktop\FYP\FYP-Django\venv\lib\site-packages\requests\sessions.py", line 596, in send
    r = adapter.send(request, **kwargs)
  File "d:\Desktop\FYP\FYP-Django\venv\lib\site-packages\requests\adapters.py", line 413, in send
    resp = conn.urlopen(
  File "c:\users\user\appdata\local\programs\python\python38-32\lib\site-packages\urllib3\connectionpool.py", line 687, in urlopen
    timeout_obj = self._get_timeout(timeout)
  File "c:\users\user\appdata\local\programs\python\python38-32\lib\site-packages\urllib3\connectionpool.py", line 330, in _get_timeout
    return Timeout.from_float(timeout)
  File "c:\users\user\appdata\local\programs\python\python38-32\lib\site-packages\urllib3\util\timeout.py", line 179, in from_float
    return Timeout(read=timeout, connect=timeout)
  File "c:\users\user\appdata\local\programs\python\python38-32\lib\site-packages\urllib3\util\timeout.py", line 103, in __init__
    self._connect = self._validate_timeout(connect, "connect")
  File "c:\users\user\appdata\local\programs\python\python38-32\lib\site-packages\urllib3\util\timeout.py", line 144, in _validate_timeout
    raise ValueError(
ValueError: Timeout value connect was Timeout(connect=100, read=100, total=None), but it must be an int, float or None.

Toute façon que je puisse obtenir ce code pour courir dans mon Python Venv?

0
Master Irfan Elahee 24 mars 2021 à 10:46

2 réponses

Meilleure réponse

Êtes-vous sûr que vous utilisez venv?
Si oui, essayez-la de l'exécuter sans venv.
et gardez votre API dans un séparé variable.
et essayez de désinstaller Dropbox avec pip uninstall dropbox, puis installez-le par pip install dropbox.

1
Rajdeep 24 mars 2021 à 08:02

Je suppose que vous exécutez Dropbox-sdk-python paquet Python.
Ce type d'erreur semble être lié à la version des dépendances telles que expliquées dans ce .

Donc, s'il vous plaît assurez-vous que toutes les dépendances ont la version correcte basée sur .txt fichier.

Pour vérifier la version de toutes les dépendances installées exécutez la commande suivante avec l'activation de Virtualenv.

pip freeze
1
Giordano 24 mars 2021 à 08:05