安装失败的原因有很多 - 在很多情况下,正确的解决方案是联系包开发人员。
出现问题的常见原因是尝试将包安装到你无权修改的位置。 例如,默认的安装位置可能需要管理权限,但是默认情况下,Python 没有管理权限。 最佳解决方案是创建一个虚拟环境并在其中进行安装。
某些包包括本机代码,需要 C 或 C++ 编译器才能进行安装。 一般来说,包开发人员应发布预编译的版本,但通常没有发布。 如果安装了适用于 Visual Studio 的生成工具并选择了 C++ 选项,则某些包可能会正常运行,但是在大多数情况下,需要联系包开发人员。
在适用于 Linux 的 Windows 子系统(WSL 或 WSL2)上使用 pip 安装 Flask 等包时,例如使用 python3 -m pip install flask
,你可能会特别遇到如下错误:
WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None))
after connection broken by 'NewConnectionError('<urllib3.connection.VerifiedHTTPSConnection
object at 0x7f655471da30>: Failed to establish a new connection: [Errno -3]
Temporary failure in name resolution')': /simple/flask/
调查此问题时,你可能会遭遇几个陷阱,其中没有一个能通过 WSL Linux 发行版特别高效地解决。 (警告:在 WSL 上,请勿尝试编辑 resolv.conf
,该文件是一个符号链接,修改它会导致出现大量问题)。 除非你正在运行二级市场防火墙,否则只需重新安装 pip 可能就能解决问题:
sudo apt -y purge python3-pip
sudo python3 -m pip uninstall pip
sudo apt -y install python3-pip --fix-missing
*有关进一步的讨论,请查看 GitHub 上的 WSL 产品存储库。感谢我们的用户社区在 docs 中参与此问题的解决。
由于要处理不同类型的 Python 项目,因此最终可能会在计算机上安装多个版本的 Python。 由于所有这些版本都使用 python
命令,因此你使用的是哪个版本的 Python 可能并不明显。 作为标准,建议使用 python3
命令(或 python3.7
以选择特定版本)。
py.exe 启动器将自动选择已安装的最新版本的 Python。 此外,还可以使用 py -3.7
之类的命令来选择特定版本,或者使用 py --list
来查看可使用的版本。 但是,仅当使用从 python.org 安装的 Python 版本时,py.exe 启动器才会正常运行。从 Microsoft Store 安装 Python 时,不包含 py
命令。 对于 Linux、macOS、WSL 和 Microsoft Store 版本的 Python,应使用 python3
(或 python3.7
)命令。
为了帮助新用户找到正确的 Python 安装,我们向 Windows 添加了一个快捷方式,可直接转到 Microsoft Store 中发布的最新版本的社区包。 该包无需管理员权限即可轻松安装,并将默认的 python
和 python3
命令替换相应的真实命令。
使用任何命令行参数运行快捷方式可执行文件都将返回错误代码,指示未安装 Python。 这是为了防止批处理文件和脚本意外打开 Store 应用。
如果使用 python.org 中的安装程序安装 Python 并选择“添加到 PATH”选项,则新的 python
命令将优先于快捷方式。 请注意,其他安装程序可能以低于内置快捷方式的优先级添加 python
。
通过从“开始”打开“管理应用执行别名”,找到“应用安装程序”Python 条目并将其切换为“关闭”,无需安装 Python 即可禁用快捷方式。
Python 字符串对特殊字符使用“转义符”。 例如,要在字符串中插入换行符,应键入 \n
。 由于 Windows 上的文件路径使用反斜杠,因此某些部分可能已转换为特殊字符。
要将路径粘贴为 Python 中的字符串,请添加 r
前缀。 这表示它是一个 raw
字符串,除 \” 外,将不使用任何转义字符(可能需要删除路径中的最后一个反斜杠)。 因此,路径可能如下所示:r"C:\Users\MyName\Documents\Document.txt"
在 Python 中使用路径时,建议使用标准 pathlib 模块。 这样你就可以将字符串转换为丰富的 Path 对象,无论它使用正斜杠还是反斜杠,都可以一致地进行路径操作,从而使代码在不同的操作系统上可以更好地工作。
Python 使用 PYTHONPATH 环境变量来指定可以从中导入模块的目录列表。 运行时,可以检查 sys.path
变量以查看导入某些内容时将要搜索的目录。
要在“命令提示符”中设置此变量,请使用:set PYTHONPATH=list;of;paths
。
要在 PowerShell 中设置此变量,请在启动 Python 之前使用:$env:PYTHONPATH=’list;of;paths’
。
不建议通过“环境变量”设置全局设置此变量,因为使用它的可能是任何版本的 Python,而非要使用的版本。
Docker:VSCode 扩展有助于快速打包和部署 Dockerfile 和 docker-compose.yml 模板(为项目生成正确的 Docker 文件)。
借助 Azure Kubernetes 服务 (AKS),可以在按需缩放资源的同时部署和管理容器化应用程序。
通过设置同步,可以使用 GitHub 在不同安装之间同步 VS Code 设置。 如果在不同的计算机上工作,这有助于在它们之间保持一致的环境。
VSCode 扩展键映射有助于打造你熟悉的环境。
Windows 计算机和 Macintosh 的某些键盘按钮和系统快捷方式略有不同。 此 Mac 到 Windows 的转换指南涵盖了基础知识。