avatar
文章
268
标签
109
分类
39

首页
分类
归档
反馈
叶落花开的博客
搜索
首页
分类
归档
反馈
Python 版本管理工具选择与 Pyenv 使用说明
发表于2024-12-15|服务端开发Python

Python 版本管理工具的主要作用是帮助开发者在同一台机器上管理多个 Python 版本和环境。这对于开发和部署不同项目非常有用,因为不同项目可能依赖不同的 Python 版本或者不同的包版本。具体来说,Python 版本管理工具应有以下功能:

(1)避免依赖冲突,不同的项目可能依赖不同版本的库,使用版本管理工具可以创建独立的虚拟环境,避免依赖冲突。

(2)简化开发流程,开发者可以轻松地在不同的 Python 版本之间切换,而不需要重新安装或配置 Python。

(3)便于部署,减少冲突。在开发环境中使用与生产环境相同的 Python 版本和依赖,可以减少部署时出现的问题。

(4)共享环境配置,提高开发环境一致性。可以将环境配置文件(如 requirements.txt 或 pyproject.toml)共享给团队成员,确保大家使用相同的开发环境。

一、工具选择

常见的管理工具有 Pyenv 和 Conda。Pyenv 是当前最流行的 Python 版本管理工具,支持多种 Python 版本,如 CPython、Anaconda、PyPy 等,功能全面且简单易用。Conda 最初由 Anaconda, Inc. 开发,主要用于 Python 和 R 编程语言的软件包(含 Python)及环境管理,特别适合跨平台、多语言项目,Python 版本管理只是其一小部分功能,若仅用于管理 Python 版本,Conda 有些大材小用,且系统较复杂、学习成本略高。相比之下,Pyenv 是常规项目 Python 版本管理的最优选择。

以下详细介绍 Pyenv 的使用方法。

二、Pyenv 安装

建议: 先卸载系统内置的 Python,否则可能导致 pyenv 设置不生效。

1. Windows

pyenv 本身是为 Unix 系统设计的。你可以使用 pyenv-win 这个项目,它是 pyenv 的 Windows 版本。

你需要在 PowerShell 中执行以下命令安装 pyenv-win:

Invoke-WebRequest -UseBasicParsing -Uri "https://raw.githubusercontent.com/pyenv-win/pyenv-win/master/pyenv-win/install-pyenv-win.ps1" -OutFile "./install-pyenv-win.ps1"; &"./install-pyenv-win.ps1"

重新打开 PowerShell,运行 pyenv –version 检查安装是否成功。

2. Linux

你可以使用以下命令来安装 pyenv:

阅读全文
【pyenv】解决 pyenv install 国内下载缓慢的问题
发表于2024-12-15|服务端开发Python

直接上命令

wget https://registry.npmmirror.com/-/binary/python/3.9.0/Python-3.9.0.tar.xz -P ~/.pyenv/cache/

pyenv install 3.9.0

原理是先把安装包下载到缓存里,install 时会自动检测。
将版本号替换为自己要下载的版本即可。

https://registry.npmmirror.com/binary.html?path=python/

可以先去镜像网站看看有没有自己需要的版本资源,我看了一下,基本都有。

阅读全文
在 CentOS 7 上使用 pyenv 安装最新版本的 Python(解决ModuleNotFoundError: No module named '_ssl'问题)
发表于2024-12-14|服务端开发Python

开始

我尝试升级服务器上的 python。 这花了相当多的时间,所以我在这里总结一下作为提醒。

本文主要解决ModuleNotFoundError: No module named ‘_ssl’问题。

环境

  • CentOS 7 操作系统
  • Python 3.6 和 Python 2.7 已预先包含在内。

1. 安装 pyenv

$ pyenv versions

如果输出如下,则表示未安装。 如果您看到该版本,则表示该版本已安装,您可以跳过该版本。

bash: pyenv: 找不到命令…

pyenv 的安装基于以下文章。 以下是步骤:

https://www.cnblogs.com/zengzuo613/p/18399192

1-1. 安装使用 pyenv 所需的软件包

阅读全文
k8s流量策略-获取真实ip
发表于2024-09-23|服务端开发容器技术

externalTrafficPolicy 简介

如果服务需要将外部流量路由到 本地节点或者集群级别的端点,即service type 为LoadBalancer或NodePort,那么需要指明该参数。存在两种选项:”Cluster”(默认)和 “Local”。 “Cluster” 隐藏源 IP 地址,可能会导致第二跳(second hop)到其他节点,但是全局负载效果较好。”Local” 保留客户端源 IP 地址,避免 LoadBalancer 和 NodePort 类型服务的第二跳,但是可能会导致负载不平衡。

在实际的业务中,诸多业务是需要保留客户端源 IP,所以需要通过将服务的配置文件中的 externalTrafficPolicy 参数设置为 “Local” 来激活这个特性。

Kubernetes 有一个特性可以保留客户端源 IP。 如果将 service.spec.externalTrafficPolicy 设置为 Local, kube-proxy 只会将代理请求代理到本地端点,而不会将流量转发到其他节点。 这种方法保留了原始源 IP 地址。如果没有本地端点,则发送到该节点的数据包将被丢弃, 因此你可以在任何数据包处理规则中依赖正确的源 IP,你可能会应用一个数据包使其通过该端点。

{
"kind": "Service",
"apiVersion": "v1",
"metadata": {
"name": "example-service",
},
"spec": {
"ports": [{
"port": 8765,
"targetPort": 9376
}],
"selector": {
"app": "example"
},
"type": "LoadBalancer",
"externalTrafficPolicy": "Local"
}
}
阅读全文
RealmSwift用法小结:增删改查实例
发表于2024-09-19|服务端开发Swift开发

增删改都太简单了,这里不赘述了。详情可以看官方文档
1.简单查询

let result : Results<ProjectItp> = realm.objects(ProjectItp.self).filter("NSPredicate:xxxx")

filter传入的参数是一个NSPredicate,可以上网了解一下这个NSPredicate
简单地举几个例子
[c] 表示忽略大小写,该符号可以用于==[c] !=[c] BEGINSWITH[c] CONTAINS[c] ENDSWITH[c] LIKE[c]

//用AND 或者 && 连接都可以
filter("lastname == 'fancy' && l_id == 123456 && active == true")
filter("lastname == 'fancy' AND l_id == 123456")

// 字符串比较可以用以下类型 ==、!=、BEGINSWITH、CONTAINS 和 ENDSWITH
filter("lastname CONTAINS 'fancy' )
//忽略大小写
filter("lastname CONTAINS[c] 'fancy' )

太多了,如果要看更详细的 参考官方文档-查询

接下来展示几个例子,在文档中仅是简单提及或者没有提及,且无任何示例代码的查询
2.结果集排序

阅读全文
linux环境离线安装docker服务和docker-buildx插件
发表于2024-09-18|服务端开发容器技术

一、docker 离线安装

1 下载压缩包

官网下载地址:https://download.docker.com/linux/static/stable/x86\_64/
选择适合的版本,这里以docker-27.2.1.tgz 进行示意。

2 上传压缩包并解压

把下载好的docker-27.2.1.tgz,上传到linux服务器任意路径后,执行解压:

tar zxvf docker-27.2.1.tgz

阅读全文
1234…45
avatar
叶落花开
持续学习,记录后端技术、web技术,以及对认知、技术变现的思考。
文章
268
标签
109
分类
39
友情链接
  • 各大高校博士招生信息
  • 小新软件安装服务
分类
  • IT技术35
    • Anki19
    • Linux7
    • Mac1
    • Windows2
  • Web技术23
    • Electron2
    • Hexo搭建博客教程9
标签
Anki Apache Containerd Corba Docker Dockerd Electron English Git Hexo JNA JacORB Java Javascript Jmeter K8s Kubernetes Kuboard Linux Mac Maven MongoDB Moviepy Node Nodejs OpenAI PMD PV PVC Python Realm RealmSwift Selenium Service Simulator Spring SpringBoot SpringMVC Sqlite Statefuset
网站资讯
文章数目 :
268
最后更新时间 :
©2020 - 2025 By 叶落花开
框架 Hexo|主题 Butterfly
本地搜索
数据库加载中