python - 使用 python venv 时出现 ValueError
问题描述
我目前正在尝试使用 python 中的 API 密钥连接到我的保管箱帐户。当我不使用虚拟环境运行它时,我可以从下面的代码中获取我的个人资料信息。
import dropbox
d = dropbox.Dropbox("myAPIkey")
print(d.users_get_current_account())
但是当我使用我的 python venv 运行代码时,我得到了这个错误
Traceback (most recent call last):
File "c:\users\user\appdata\local\programs\python\python38-32\lib\site-packages\urllib3\util\timeout.py", line 142, in _validate_timeout
float(value)
TypeError: float() argument must be a string or a number, not 'Timeout'
During handling of the above exception, another exception occurred:
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.
有什么办法可以让这个代码在我的 python venv 中运行?
解决方案
我想你正在运行dropbox-sdk-python python 包。
这种错误似乎与此线程中解释的依赖项版本有关。
因此,请确保所有依赖项都具有基于requirements.txt文件的正确版本。
要检查所有已安装依赖项的版本,请在激活 virtualenv 的情况下运行以下命令。
pip freeze
推荐阅读
- java - Java 堆和栈被误解了
- directory - 如何设置 Sublime Text 3 以便我只能搜索项目中的文件夹和文件?
- javascript - 需要值(减值)来影响另一个输入的值
- appium - iOS 真实设备 未知设备或模拟器 UDID
- azure - IoTEdge 有时会重新创建容器
- json - 在 Angular 中,如何避免“类型 'Object' 上不存在属性 'json'”错误?
- c# - 连接到域后验证域用户无法访问 C#
- deployment - 即使在剧本结束后,Ansible 也能继续破坏进程吗?
- r - 在 R studio 中训练数据集
- c# - C# 在繁重工作量期间保持 UI 响应的最佳方法