记录好用的python包

news2024/10/1 17:31:26

记录好用的python包

  • Pipx
    • Centos 安装pipx
      • 确保 Pip 被安装
      • 更新 Pip
      • 安装 Pipx
      • 添加 Pipx 到 PATH
        • 临时添加到 PATH:
        • 永久添加到 PATH:
      • 验证 Pipx 安装
  • Hatch
    • 安装
    • 特性
  • Poetry
    • 安装
    • 准备工作
    • 创建虚拟环境
    • 激活虚拟环境
    • 安装包
    • 追踪 & 更新包
    • 常用配置
    • pycharm 远程连接poetry创建的虚拟环境
    • 参考链接
  • centos 升级openssl

Pipx

Pypi网址
pipx主页

Centos 安装pipx

确保 Pip 被安装

python3 -m ensurepip

更新 Pip

python3 -m pip install --user --upgrade pip

安装 Pipx

python -m pip install --user pipx

添加 Pipx 到 PATH

由于使用 --user​ 安装了 Pipx,您需要确保 ~/.local/bin​ 目录在您的 PATH 环境变量中。

临时添加到 PATH:
export PATH="$PATH:$HOME/.local/bin"

永久添加到 PATH:
echo 'export PATH="$PATH:$HOME/.local/bin"' >> ~/.bashrc
重新加载配置文件
source ~/.bashrc

验证 Pipx 安装

pipx --version

  • 在安装过程中,如果遇到网络相关的错误,请检查您的网络连接。
  • 如果您遇到关于包版本的错误,请考虑安装或更新这些包到兼容的版本。
  • 确保使用的是具有所需权限的用户账户进行安装。

参考链接


Hatch

pypi:网址
github:网址

安装

pip3 install hatch

特性

  • 项目创建和管理:快速生成标准化的项目结构。
  • 虚拟环境管理:支持创建和管理项目专用的虚拟环境。
  • 依赖管理:轻松管理项目的依赖项。
  • 打包和发布:简化打包和发布到PyPI的流程。
  • 插件系统:通过插件扩展功能。

Poetry

github 地址
文档地址
pypi地址

安装

pipx install poetry
或者
pipx install poetry==1.2.0

准备工作

如果你是在一个已有的项目里使用 Poetry,你只需要在项目文件夹执行 poetry init 命令来创建一个 pyproject.toml 文件:

poetry init

如果你想创建一个新的 Python 项目,使用 poetry new <文件夹名称> 命令可以创建一个项目模板:

poetry new foo

在这里插入图片描述
如果你想使用 src 文件夹,可以添加 --src 选项,这会把程序包嵌套在 src 文件夹里。

创建虚拟环境

使用 poetry install 命令创建虚拟环境(确保当前目录有 pyproject.toml 文件):

poetry install

这个命令会读取 pyproject.toml 中的所有依赖(包括开发依赖)并安装,如果不想安装开发依赖,可以附加 --no-dev 选项。如果项目根目录有 poetry.lock 文件,会安装这个文件中列出的锁定版本的依赖。如果执行 add/remove 命令的时候没有检测到虚拟环境,也会为当前目录自动创建虚拟环境。

激活虚拟环境

执行 poetry 开头的命令并不需要激活虚拟环境,因为它会自动检测到当前虚拟环境。如果你想快速在当前目录对应的虚拟环境中执行命令,可以使用 poetry run <你的命令> 命令,比如:

 poetry run python app.py

如果你想显式的激活虚拟环境,使用 poetry shell 命令:

poetry shell
poetry new <project_name>:创建新项目 
poetry init:初始化现有项目

poetry add <package>:添加和安装包 
poetry install:安装pyproject.toml中的依赖

poetry shell:激活虚拟环境 
exit:退出虚拟环境和新shell 
deactivate:退出虚拟环境且不离开shell

安装包

使用 poetry add 命令来安装一个包:

poetry add flask

添加 --dev 参数可以指定为开发依赖:

poetry add pytest --dev

追踪 & 更新包

使用 poetry show 命令可以查看所有安装的依赖(可以传递包名称作为参数查看具体某个包的信息):

poetry show
添加 --tree 选项可以查看依赖关系:

poetry show --tree
添加 --outdated 可以查看可以更新的依赖:

poetry show --outdated
执行 poetry update 命令可以更新所有锁定版本的依赖:

poetry update
如果你想更新某个指定的依赖,传递包名作为参数:

poetry update foo
卸载包
使用 poetry remove <包名称> 卸载一个包:

poetry remove foo

常用配置

Poetry 的配置存储在单独的文件中,比 Pipenv 设置环境变量的方式要方便一点。配置通过 poetry config 命令设置,比如下面的命令可以写入 PyPI 的账号密码信息:

$ poetry config http-basic.pypi username password
下面的命令设置在项目内创建虚拟环境文件夹:

$ poetry config settings.virtualenvs.in-project true
另一个常用的配置是设置 PyPI 镜像源,以使用豆瓣提供的 PyPI 镜像源为例,你需要在 pyproject.toml 文件里加入这部分内容:

[[tool.poetry.source]]
name = "douban"
url = "https://pypi.doubanio.com/simple/"

pycharm 远程连接poetry创建的虚拟环境

执行 poetry install
会在如下图的地方创建虚拟环境

在这里插入图片描述
pycharm 中连接此地址就可,poetry的虚拟环境是以文件名+随机数+py版本命名的
在这里插入图片描述

参考链接

相比 Pipenv,Poetry 是一个更好的选择
poetry:简化Python依赖管理和打包

centos 升级openssl

1、使用yum源在线升级OpenSSL

yum update openssl  #使用默认的yum源升级,发现版本没有变化

yum install -y epel-release  #安装epel源

yum install -y openssl11 openssl11-devel   #安装-1.1版本

[root@mysql-master ~]# whereis openssl11 #查找高版本的openssl

openssl11: /usr/bin/openssl11 /usr/lib64/openssl11 /usr/include/openssl11 /usr/share/man/man1/openssl11.1.gz

#使用高版本替换系统默认的OpenSSL版本

mv /usr/bin/openssl  /usr/bin/openssl.old

mv /usr/lib64/openssl  /usr/lib64/openssl.old

ln -s /usr/bin/openssl11   /usr/bin/openssl

ln -s  /usr/lib64/openssl11  /usr/lib64/openssl

ln -s /usr/include/openssl11  /usr/include/openssl

[root@mysql-master openssl]# openssl version   #查看OpenSSL版本,已经升级为高版本

OpenSSL 1.1.1k FIPS 25 Mar 2021

2、编译安装OpenSSL

#下载高版本OpenSSL

cd /usr/local/src

wget --no-check-certificate https://www.openssl.org/source/openssl-1.1.1q.tar.gz

#安装

cd /usr/local/src

tar zxvf openssl-1.1.1q.tar.gz

cd openssl-1.1.1q

./config -fPIC shared zlib --prefix=/usr/local/openssl

make

make install

echo "/usr/local/lib64/" >> /etc/ld.so.conf

ldconfig

#使用高版本替换系统默认的OpenSSL版本

mv /usr/bin/openssl /usr/bin/openssl.old

ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl

ln -s /usr/local/openssl/include/openssl /usr/include/openssl

echo "/usr/local/openssl/lib" >> /etc/ld.so.conf

ldconfig -v

openssl version #查看版本

[root@mysql-master lib]# openssl version

OpenSSL 1.1.1q 5 Jul 2022

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1613891.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

《QT实用小工具·三十四》Qt/QML使用WebEngine展示的百度ECharts图表Demo

1、概述 源码放在文章末尾 该项目实现了百度ECharts图表的样式&#xff0c;效果demo如下所示&#xff1a; 项目部分代码如下所示&#xff1a; #include <QGuiApplication> #include <QQmlApplicationEngine> #include <QtWebEngine>int main(int argc, ch…

第二证券|炒股如何降低成本?降低成本放大收益!

炒股便是以股票为出资标的&#xff0c;以低价买入、高价卖出的办法赚取差价&#xff0c;其核心内容便是通过证券市场的买入与卖出之间的股价差额获利。那么炒股怎么下降本钱&#xff1f;下面就由第二证券为大家剖析&#xff1a; 炒股怎么下降本钱&#xff1f; 1、股价跌落买进…

8.0 新特性 - RESOURCE GROUP

文章目录 前言1. 应用场景2. 资源组介绍3. 资源组维护4. 资源组的限制 前言 MySQL 是单进程多线程的程序&#xff0c;在 8.0 之前所有的线程优先级都是相同的&#xff0c;并且所有的线程资源都是共享的。8.0 之后推出 RESOURCE GROUP 特性 DBA 可以通过资源组的方式修改线程优…

怎么开通扣款服务(原委托代扣),看这一篇就足够你快速开通自动续费周期扣款了。

一、什么是扣款服务 扣款服务&#xff08;原委托代扣&#xff09;为微信支付为商户和用户提供的&#xff0c;可以在交易场景之外完成支付的能力。委托代扣是指商户取得用户的扣款授权后&#xff0c;向微信支付发起从用户账户扣款至商户账户的扣款指令,微信支付无需验证用户的支…

解开Intel ECI 的面纱

前言 Intel ECI是一个用于工业领域边缘控制的软硬件平台&#xff0c;我们今天主要探索的是软件部分&#xff0c;也就是系统镜像。区别于传统的Ubuntu或者Debian&#xff0c;ECI的强大之处在于它的实时性以及对于Intel自家芯片的缓存优化能力极强。 那么让我们来探索一下 编译…

Access denied for user ‘zabbix‘@‘localhost‘ (using password: NO)

现象 排查过程 进入数据库show grants for zabbixlocalhost;select host,user from mysql.user;cat /etc/zabbix/zabbix_server.conf | grep DB | grep -vE ‘#|$’cat /etc/zabbix/web/zabbix.conf.php | grep DB 解决办法 mysql 8.0以下 DPassword123.com mariadb -e "…

手写一个Spring IOC框架

目录 一&#xff0c;Spring IOC 二&#xff0c;流程图设计 三&#xff0c;设计思路解析 三&#xff0c;开始写代码 1.准备工作: 2.扫描并加载类信息 3.初始化bean 4.测试一下 一&#xff0c;Spring IOC Spring IoC容器是Spring框架的核心&#xff0c;它通过读取配置信息…

木马——文件上传

目录 1、WebShell 2.一句话木马 靶场训练 3.蚁剑 虚拟终端 文件管理 ​编辑 数据操作 4.404.php 5.文件上传漏洞 客户端JS检测 右键查看元素&#xff0c;删除检测代码 BP拦截JPG修改为php 服务端检测 1.MIME类型检测 2.文件幻数检测 3.后缀名检测 1、WebShell W…

【网络协议】 TCP与UDP协议区别及应用场景深度分析

1. TCP与UDP简介 1.1 TCP 1.1 定义 TCP&#xff08;TransmissionControl Protocol&#xff09;传输控制协议。 是一种可靠的、面向连接的协议&#xff08;eg:打电话&#xff09;、传输效率低全双工通信&#xff08;发送缓存&接收缓存&#xff09;、面向字节流。使用TCP的应…

restful请求风格的增删改查-----查询and添加

一、restful风格的介绍 restful也称之为REST ( Representational State Transfer )&#xff0c;可以将它理解为一种软件架构风格或设计风格&#xff0c;而不是一个标准。简单来说&#xff0c;restful风格就是把请求参数变成请求路径的一种风格。例如&#xff0c;传统的URL请求…

SpringBoot---------Lombook

Lombok是一个可以通过简单的注解形式来帮助我们简化消除一些必须有但显得很臃肿的Java代码的工具&#xff0c;通过使用对应的注解&#xff0c;可以在编译源码的时候生成对应的方法&#xff0c;也就是简化咱们之前pojo&#xff0c;实体类里面臃肿的get/set有参无参。 首先查看一…

【Linux】认识文件(二):重定向

【Linux】认识文件&#xff08;二&#xff09;&#xff1a;重定向 一.stdout,stderr,stdin二.重定向1.什么是重定向i.输出重定向>ii.追加重定向>>iii.输入重定向< 2.重定向原理3.dup2的使用 三.理解linux中的一切皆文件 上篇文件博客中&#xff0c;讲了进程管理已打…

助企扩岗稳就业,2024年成都市重点企业稳就业政策培训会圆满举行!

2024年4月17日&#xff0c;由成都市就业服务管理局主办&#xff0c;成都市金牛区就业服务管理局承办的2024年成都市重点企业稳就业政策培训会&#xff08;金牛区专场&#xff09;在成都市金牛区顺利举行。此次培训会由国际数字影像产业园召集全区70余家重点企业积极参与&#x…

Android Studio实现内容丰富的安卓养老平台

获取源码请点击文章末尾QQ名片联系&#xff0c;源码不免费&#xff0c;尊重创作&#xff0c;尊重劳动 158安卓养老 1.开发环境 后端用springboot框架&#xff0c;安卓的用android studio开发android stuido3.6 jak1.8 idea mysql tomcat 2.功能介绍 安卓端&#xff1a; 1.注册登…

ELK 日志分析(二)

一、ELK Kibana 部署 1.1 安装Kibana软件包 #上传软件包 kibana-5.5.1-x86_64.rpm 到/opt目录 cd /opt rpm -ivh kibana-5.5.1-x86_64.rpm 1.2 设置 Kibana 的主配置文件 vim /etc/kibana/kibana.yml --2--取消注释&#xff0c;Kiabana 服务的默认监听端口为5601 server.po…

C++11——线程库的理解与使用

目录 前言 一、线程库的构造 1.默认构造 2.带参构造 3.拷贝构造与赋值拷贝&#xff08;不支持&#xff09; 4.移动构造 二、线程调用lambda函数 三、线程安全与锁 1.lambda中的线程与锁 2.函数指针中的线程与锁 3.trylock() 4.recursive_mutex 5.lock_gurad守卫锁…

android开发 多进程的基本了解

目录 如何开启多进程?理解多进程模式的运行机制 如何开启多进程? 给四大组件在androidMenifest中指定android:precess <activityandroid:name".ThreeActivity"android:exported"false"android:process"com.my.process.three.remote" />…

4月21日Linux运维用户相关的添加,分组,修改权限等shell脚本开发第一天

4月21日运维用户相关的添加&#xff0c;分组&#xff0c;修改权限等shell脚本开发第一天 第一天主要实现前2个功能 ​ 主要卡在了&#xff1a; 正确的写法如下&#xff0c;注意[]中的空格&#xff0c;要求很严格&#xff01;&#xff01;&#xff01; #!/bin/bash # 先查看已…

Unity射击游戏开发教程:(3)如何销毁游戏对象 ,添加CD

在 Unity 中销毁游戏对象 在我之前的文章中,我写了关于实例化或创建激光预制体,当发射时,激光预制件将继续在屏幕上移动一段时间。 创建所有这些激光预制件后,最终会减慢游戏速度,因此我们必须通过创建激光预制件来找到平衡,在屏幕上移动直到它超出游戏视图,然后销毁它…

Vue2:标签页一个页面拆分成俩个选项卡

概要 在自己的项目中&#xff0c;标签页组件显示一般就是点击一个页面&#xff0c;然后标签页组件显示该页面的名称。但是如果你是一个页面文件中展示不同的内容比如( 某模块的新增页面 和 详情页面)一般内容新建页面和详情页面差别不是很大&#xff0c;有的内容甚至俩边都会用…