运行python项目常用工具的安装和使用(ubuntu22)

1.安装poetry --管理项目依赖

curl -sSL https://install.python-poetry.org | python3 -

检查:poetry --version

在项目下激活(比如pycharm的终端): poetry env activate

eval $(poetry env activate)

poetry install

禁用conda默认激活base环境,并改为自动激活poetry环境

conda config --set auto_activate_base false

source ~/.bashrc

nano ~/.bashrc

末尾添加:

复制代码
# 自动激活 Poetry 环境的函数
auto_poetry_shell() {
    if [ -f "pyproject.toml" ]; then
        # 检查 .venv 文件夹是否存在(假设你配置了 poetry 将虚拟环境创建在项目内)
        if [ -d ".venv" ]; then
            # 检查是否已经在虚拟环境中
            if [ -z "$VIRTUAL_ENV" ]; then
                echo "检测到 Poetry 项目,正在激活虚拟环境..."
                source ./.venv/bin/activate
            fi
        else
            # 如果没有 .venv 文件夹,可以尝试用 poetry 命令获取路径(性能稍慢)
            # 这里为了简洁,先不做复杂处理,你可以选择手动运行 poetry shell
            echo "提示:当前目录包含 pyproject.toml,但未找到 .venv 文件夹。请先运行 'poetry install' 或 'poetry config virtualenvs.in-project true' 将环境创建在项目内。"
        fi
    fi
}

# 覆盖 cd 命令
cd() {
    builtin cd "$@"
    auto_poetry_shell
}

# 当你打开一个新的终端直接进入某个目录时(比如通过 VS Code),也会触发检查
auto_poetry_shell

source ~/.bashrc

如果没有生效,需要删除之前创建过的虚拟环境,重新下载依赖即可:

在项目目录下:

poetry env list

poetry env remove 待删除环境名

一次性全部删除(谨慎使用):poetry env remove --all

poetry install

2.安装pyenv --管理python环境

sudo apt update

sudo apt install -y make build-essential libssl-dev zlib1g-dev libbz2-dev \

libreadline-dev libsqlite3-dev wget curl llvm libncursesw5-dev xz-utils \

tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev python3-openssl git
git clone https://gitee.com/mirrors/pyenv.git ~/.pyenv
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc

echo 'export PATH="PYENV_ROOT/bin:PATH"' >> ~/.bashrc

echo 'eval "$(pyenv init --path)"' >> ~/.bashrc

echo 'eval "$(pyenv init -)"' >> ~/.bashrc
source ~/.bashrc

pyenv --version

3.安装python --选择合适版本

pyenv install --list | grep 3.11

pyenv install 3.11.8
全局设置:pyenv global 3.11.8

仅当前项目:cd 你的项目绝对路径

pyenv local 3.11.8

python --version

4.docker

sudo apt update

sudo apt-get install apt-transport-https ca-certificates curl software-properties-common lrzsz -y

sudo curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

sudo add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"

sudo apt-get install docker-ce -y

docker version

配置镜像源:

cd /etc/docker

sudo touch daemon.json

sudo nano daemon.json

写入:(注意对齐,未对齐会报错)

{

"registry-mirrors": [

"https://docker.1panel.live",

"https://hub.rat.dev"

],

}

检查一下:sudo cat daemon.json

systemctl daemon-reload

systemctl restart docker

检查状态:sudo systemctl status docker

  1. 数据库

MongoDB --直接拉取官方镜像运行容器:

docker run -d \

--name mongodb-local \

-p 27017:27017 \

-e MONGO_INITDB_ROOT_USERNAME=llm_engineering \

-e MONGO_INITDB_ROOT_PASSWORD=llm_engineering \

mongo:6.0

连接,启动项目数据库

(用户名和密码与配置文件一致即可,有数据进入则会自动创建,可以不用手动创建):

docker exec -it mongodb-local mongosh -u 用户名 -p 密码 --authenticationDatabase admin

可查看数据库,有三个它自带的数据库不要误删了

如果用的pycharm,用database去连接,在配置页面让编辑器自动下载对应版本的jar包,如果下载失败,可以手动下载jar包,放到编辑器目录下就行

pycharm破解方法(ubuntu):(注意会自动把Jetbrain旗下全部的软件都扫描出,并重置激活)官网下载pycharm,启动(如果是pycharm25版本,保证本机系统是jdk21,低于这个版本启动会报错)后关闭软件

保证网络打开,执行:wget --no-check-certificate ckey.run -O ckey.run && bash ckey.run

一直回车进行下一步,最后会跳转到一个网站,直接选择自己要破解的软件,复制激活码

打开软件,输入激活码即可

用的哪个数据库创建的用户,我用的admin(不用额外配置权限)就要在url里写明:authSource=admin

Qdrant --直接拉取官方镜像运行容器:

docker run -d \

--name qdrant-local \

-p 6333:6333 \

-p 6334:6334 \

qdrant/qdrant

这个一般是上云的,官网:https://cloud.qdrant.io/

本地启动使用,可在项目里加上配置:USE_QDRANT_CLOUD=false

点击启动后给的网址 http://localhost:6333/dashboard ,里面有官方教程和控制台

看看启动了哪些容器:docker ps

关闭某个容器:docker stop 名称或者id

先就这些,后面再说。

相关推荐
云边有个稻草人1 分钟前
【Linux系统】第十节—【进程概念】环境变量 | 详解,包会!
linux·环境变量·命令行参数·环境变量的特性·获取linux环境变量的方法·环境变量path·通过代码获取linux环境变量
IMPYLH7 分钟前
Linux 的 stdbuf 命令
linux·运维·服务器·bash
郝学胜-神的一滴9 分钟前
从底层看透Linux高性能服务器:epoll自定义封装与超时清理实战
linux·服务器·c++·网络协议·tcp/ip·unix
Elastic 中国社区官方博客10 分钟前
Elasticsearch 多年来的演进 —— LogsDB 如何在不影响吞吐量的情况下将索引大小减少高达 75%
大数据·运维·elasticsearch·搜索引擎·全文检索·可用性测试
keyipatience14 分钟前
12.GDB调试技巧与计算机体系结构解析
linux·运维·服务器
小夏子_riotous16 分钟前
Docker学习路径——9、Docker 网络深度解析:从默认网络到自定义网络实战
linux·运维·网络·docker·容器·centos·云计算
峥无20 分钟前
《read/write的秘密:文件描述符、重定向与用户态缓冲区》
linux·运维·服务器·进程
fish_xk26 分钟前
Linux操作系统
linux
zh路西法29 分钟前
【udev重命名详细教程】放弃硬编码,从重命名开始
linux·机器人
studytosky38 分钟前
【高并发内存池】线程缓存核心原理与实现
linux·服务器·git·缓存