python not found in the registry

本文提供了一段Python脚本,用于将指定版本的Python安装路径注册到Windows系统的环境变量中,确保系统能够识别并使用该Python解释器。此脚本适用于Python 3.5,并可根据实际情况调整以支持其他版本。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

实测python3.5可用


from __future__ import print_function
 
 
import sys
 
try:
    from winreg import *
except ImportError:
    from _winreg import *
 
# tweak as necessary
version = sys.version[:3]
installpath = sys.prefix
 
regpath = "SOFTWARE\\Python\\Pythoncore\\{0}\\".format(version)
installkey = "InstallPath"
pythonkey = "PythonPath"
pythonpath = "{0};{1}\\Lib\\;{2}\\DLLs\\".format(
    installpath, installpath, installpath)
 
 
def RegisterPy():
    try:
        reg = OpenKey(HKEY_CURRENT_USER, regpath)
    except EnvironmentError as e:
        try:
            reg = CreateKey(HKEY_CURRENT_USER, regpath)
            SetValue(reg, installkey, REG_SZ, installpath)
            SetValue(reg, pythonkey, REG_SZ, pythonpath)
            CloseKey(reg)
        except:
            print("*** Unable to register!")
            return
        print("--- Python", version, "is now registered!")
        return
    if (QueryValue(reg, installkey) == installpath and
        QueryValue(reg, pythonkey) == pythonpath):
        CloseKey(reg)
        print("=== Python", version, "is already registered!")
        return
    CloseKey(reg)
    print("*** Unable to register!")
    print("*** You probably have another Python installation!")
 
if __name__ == "__main__":
    RegisterPy()


### 解决 Swagger UI 404 Not Found 问题 当遇到 Swagger UI 访问返回 `404 Not Found` 错误时,这通常意味着服务器未能找到请求的资源。以下是针对不同框架的具体解决方案。 #### 对于 Spring Boot 应用程序 如果是在 Spring Boot 中集成了 Swagger 并遇到了此错误,则可能是由于路径配置不正确或某些必要的依赖项缺失所引起的。确保已按照如下方式调整设置: - **确认版本兼容性**:检查使用的 Spring Boot 和 Swagger 版本之间的兼容性[^2]。 - **更新 Web 配置类**:对于 Spring Boot 2.x 及以上版本,不再推荐使用 `WebMvcConfigurerAdapter` 类来扩展 MVC 功能;而是应该考虑继承自 `WebMvcConfigurationSupport` 或者实现接口 `WebMvcConfigurer` 来替代它[^4]。 ```java import org.springframework.context.annotation.Configuration; import springfox.documentation.swagger.web.UiConfiguration; import springfox.documentation.swagger.web.UiConfigurationBuilder; @Configuration public class SwaggerConfig implements WebMvcConfigurer { @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler("/swagger-ui/**").addResourceLocations("classpath:/META-INF/resources/webjars/springfox-swagger-ui/"); } @Bean UiConfiguration uiConfig() { return UiConfigurationBuilder.builder() .deepLinking(true) .displayOperationId(false) .defaultModelsExpandDepth(1) .build(); } } ``` - **验证 URL 路径**:尝试访问 `/swagger-ui/index.html` 或者更简单的形式如 `/swagger-ui/` 来查看文档界面是否可以正常加载[^3]。 #### 对于其他基于 Python 的 FastAPI 框架的应用 如果是 FastAPI 用户,在启动应用程序之后发现无法通过默认地址 (`http://<host>:<port>/docs`) 打开 Swagger UI 页面并收到空白页的情况,可能是因为缺少静态文件的支持或者是端口冲突等原因造成的。此时建议采取以下措施: - **重启服务**:有时候简单地重新启动应用就能解决问题。 - **检查防火墙设置**:确保本地网络环境允许外部连接到指定的服务端口号上。 - **调试模式启用**:开启 debug 日志级别可以帮助定位具体原因所在。 ```python from fastapi import FastAPI, Request from fastapi.middleware.cors import CORSMiddleware from fastapi.openapi.docs import get_swagger_ui_html from fastapi.staticfiles import StaticFiles app = FastAPI(docs_url=None) origins = ["*"] app.add_middleware( CORSMiddleware, allow_origins=origins, allow_credentials=True, allow_methods=["*"], allow_headers=["*"], ) @app.get("/") async def custom_swagger_ui(request: Request): root_path = request.scope.get("root_path", "") openapi_url = f"{root_path}/openapi.json" return get_swagger_ui_html(openapi_url=openapi_url, title="Custom API Docs") app.mount("/", StaticFiles(directory="./static"), name="static") if __name__ == "__main__": import uvicorn uvicorn.run(app, host='0.0.0.0', port=8000, log_level="info") ``` 上述代码片段展示了如何创建一个带有自定义 Swagger UI 接入点 (即根目录下) 的 FastAPI 实例,并挂载静态资源以便支持该功能[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值