Azure / Azure/azure-storage-python

[Storage] Storage data-plane track 1 SDK triggers SyntaxWarning on Python 3.8

未关闭
#669 3 条评论 0 个 reaction 已指派 1 人 已被 @xiafu-msft 认领 在 GitHub 查看
主要语言
Python
星标
343
派生
243
PR 合并指标
30 天内没有已合并 PR

描述

- **Package Name** and **Package Version**:
https://pypi.org/project/azure-storage-blob/2.1.0/

- **Operating System**:
All

- **Python Version**:
3.8

**Describe the bug**

When the source of **Storage data-plane track 1 SDK** is compiled for the first time (no `__pycache__` folders present), Python 3.8 gives warning:

```py
>>> import azure.storage.blob
d:\cli\env38\lib\site-packages\azure\storage\blob\_upload_chunking.py:403: SyntaxWarning: "is" with a literal. Did you mean "=="?
if n is 0 or self._buffer.closed:
d:\cli\env38\lib\site-packages\azure\storage\blob\baseblobservice.py:1009: SyntaxWarning: "is not" with a literal. Did you mean "!="?
if lease_duration is not -1 and \
d:\cli\env38\lib\site-packages\azure\storage\blob\baseblobservice.py:2660: SyntaxWarning: "is not" with a literal. Did you mean "!="?
if lease_duration is not -1 and \
d:\cli\env38\lib\site-packages\azure\storage\common\_connection.py:82: SyntaxWarning: "is" with a literal. Did you mean "=="?
self.protocol = self.protocol if parsed_url.scheme is '' else parsed_url.scheme
```

This usage is against the Python 3.8 definition:

https://docs.python.org/3.8/whatsnew/3.8.html#changes-in-python-behavior

> The compiler now produces a `SyntaxWarning` when identity checks (`is` and `is not`) are used with certain types of literals (e.g. strings, numbers). These can often work by accident in CPython, but are not guaranteed by the language spec. The warning advises users to use equality tests (`==` and `!=`) instead.

**To Reproduce**

Clear `azure\storage\blob\__pycache__` and `azure\storage\common\__pycache__`, then run

```py
import azure.storage.blob
```

**Expected behavior**

No warning should appear.

**Additional context**

Internal ticket and screenshots: https://dev.azure.com/azuretracking/Azure%20tracking/_workitems/edit/1271

贡献指南

打开贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。