python - venv\Scripts 中的可执行文件未被识别为命令
问题描述
我已经将一个 github 存储库 - pypastry - 克隆到我的 Windows 机器上,并运行pip install -e pypastry
以将其安装在我的虚拟环境中,因此项目结构是这样的:
│-- pypastry
|-- venv
|-- Scripts
|-- pastry
正如我所料,名为“pastry”的可执行文件位于 venv\Scripts 中,但命令提示符无法识别它,并且我收到错误消息:
'pastry' is not recognized as an internal or external command, operable program or batch file
我不认为 PATH 有问题,因为 PATH 中的第一项是C:\Users\User\Documents\pypastry\venv\Scripts
.
这是可执行文件本身:
#!c:\users\user\documents\pypastry\venv\scripts\python.exe
# EASY-INSTALL-DEV-SCRIPT: 'pypastry==0.0.1','pastry'
__requires__ = 'pypastry==0.0.1'
__import__('pkg_resources').require('pypastry==0.0.1')
__file__ = 'C:\\Users\\User\\Documents\\pypastry\\pypastry\\pastry'
with open(__file__) as f:
exec(compile(f.read(), __file__, 'exec'))
任何人都可以在此文件中发现任何可能意味着它在 Windows 上未被识别为可执行文件或想到其他任何可能出错的内容吗?
编辑添加:
如果我使用显式 python 调用 ( python pypastry\pastry
) 运行文件,它可以工作,但我不想这样做,因为它会产生其他问题。
解决方案
Windows 告诉您它在您的 PATH 上找不到名为“pastry”(pastry.exe
, pastry.com
, pastry.bat
, pastry.cmd
...)的可执行文件。
但是pastry.py
是。不是吗?问题是您的 Windows 未配置为识别.py
为可执行扩展。
要在不显式调用 的情况下在 Windows 中运行 python 脚本python.exe
,首先需要将.py
扩展名关联到可执行的 python。然后将.py
扩展添加为可执行扩展。
您可以通过三个步骤来完成:
将 .py 扩展名关联到 PythonFile 文件类型
ASSOC .py=PythonFile
将 PythonFile 关联到您的 python.exe 可执行文件
FTYPE PythonFile="c:\users\user\documents\pypastry\venv\scripts\python.exe" "%1" %*
将 .py 文件扩展名关联为默认的可执行扩展名之一
SET PATHEXT=.py;%PATHEXT%
推荐阅读
- java - 我们如何在没有logstash和beats的情况下通过java将数据摄取到弹性搜索
- javascript - 在 javascript 中将时间表示为 CST - date-fns
- r - 多种颜色+改变geom_ribbon图的线条粗细
- algorithm - 为什么 Floyd Warshall 的算法会成功?
- azure-data-factory-2 - Azure 数据工厂聚合计数()
- go - 使用 Go 1.13 的 Google Cloud Function 上的“没有这样的文件或目录”
- php - 使用 JSON 文件而不是真正的数据库是不是很糟糕?
- html - 如何更改 Angular 10 中的 body 标签类(最佳实践)?
- ios - Swift - 在 JSON 文件中搜索特定值并获取同一数组中的整个字典数组
- jquery - dataTable - 设置导出文件名