目录

2638264600 的个人博客

记录精彩的程序人生

python的pipenv使用和编译安装

pipenv用于创建虚拟环境,创建后项目工程自动生成Pipfile和Pipfile.lock两份文件

Pipfile:记录项目的依赖包
Pipfile.lock:记录依赖包的详细信息,通过hash算法将包名称、版本及依赖关系生成哈希值,保证包的完整性
下载源替换
下载源在国外服务器,因为种种原因导致是不是下载慢 超时等等,最好设置国内镜像
清华 https://pypi.tuna.tsinghua.edu.cn/simple
阿里 http://mirrors.aliyun.com/pypi/simple/

创建工程文件夹、进入工程内

mkdir fb
cd fb

创建虚拟环境,如果要指定py版本(不指定就用当前的版本),加上参数和版本号 --python 3.7

pipenv install

激活虚拟环境,没有就会创建

pipenv shell

搞事情,敲代码,996加班

pipenv install flask # 只是假装摸鱼
pipenv install watchdog --dev # 将看门狗包归类为dev

下班,记得commit push哦

退出虚拟环境

exit

在项目根目录下,创建虚拟环境

会在项目根目录下生成Pipfile和Pipfile.lock文件

pipenv install

指定python版本,但需要已经安装了python3.8,否则会报错not found

pipenv --python 3.8

指定python路径,在Linux系统中非root用户不使用系统默认的python环境非常有用

pipenv --python "/xxx/xxx/python"

删除虚拟环境

注意,只删除了虚拟环境存放的目录文件,Pipfile和Pipfile.lock并没有删除

pipenv --rm

在项目根目录下,即和Pipfile文件同级目录下

安装依赖

pipenv install xxx时,如果当前目录下没有虚拟环境,pipenv会自动创建一个

新项目,可以不用手动pipenv install来创建虚拟环境

pipenv install flask

添加--skip-lock 可以跳过lock步骤

pipenv install numpy --skip-lock

等最后再使用pipenv lock统一执行lock操作

pipenv lock

添加--dev(或者-d),在开发环境中安装

pipenv install --dev numpy
pipenv install -d numpy
卸载依赖
pipenv uninstall flask
在虚拟环境中执行命令

在虚拟环境中执行命令

查看虚拟环境中已安装的依赖列表

pipenv run pip list

启动虚拟环境,但注意在命令行不会显示出虚拟环境

注意区分好操作是在虚拟环境中还是在系统python环境中

pipenv shell

通过requirements.txt安装依赖
pipenv install -r requirements.txt
导出requirements.txt文件

生产环境的依赖导出

pipenv requirements > requirements-pro.txt

生产环境+开发环境的依赖导出

pipenv requirements --dev > requirements.txt

开发环境的依赖导出

pipenv requirements --dev-only > requirements-dev.txt
查看虚拟环境的路径

查看虚拟环境路径

pipenv --venv

退出

exit

查看包之间的依赖图
pipenv graph

查看帮助

pipenv -h

安装包

pipenv isntall "packagename"

安装包,归类为开发模式,需要指定dev模式才会安装该模块

pipenv isntall "packagename" --dev

使用python2创建环境

pipenv --two

使用python3创建环境

pipenv --three

指定某个Python版本创建环境

pipenv --python 3.7

指定某个位置的Python创建环境

pipenv --python <path/to/python>

卸载包

pipenv uninstall "packagename"

卸载所有包

pipenv uninstall --all

查看包依赖

pipenv graph

生成lockfile

pipenv lock

运行py文件

pipenv run python "temp.py"

删除当前所指的虚拟环境

pipenv --rm

卸载pipenv

pip uninstall pipenv

查看当前虚拟环境下安装包及依赖关系:pipenv graph
进入虚拟环境:pipenv shell (检测当前项目对应的虚拟环境是否存在,不存在则自动创建项目所需要的环境,虚拟环境的路径默认当前路径或者环境变量配置路径)
虚拟环境安装包 :pipenv install(检测当前项目对应的虚拟环境是否存在,不存在则自动创建项目所需要的环境,虚拟环境的路径默认当前路径或者环境变量配置路径)
安装虚拟环境包到默认环境:pipenv install 包名
安装虚拟环境包到开发环境:pipenv install 包名 --dev
卸载虚拟环境包:pipenv uninstall 包名(会将该包与依赖包全部卸载)
列出本地工程的路径:pipenv --where
列出虚拟环境路径:pipenv --venv
列出虚拟环境的python可执行文件:pipenv --py
生成 Pipfile.lock 文件:pipenv lock
退出虚拟环境:exit
删除虚拟环境:pipenv --rm

pipenv虚拟环境迁移
将项目一的虚拟环境迁移到项目二的虚拟环境上:

安装pipenv:pip install pipenv

复制Pipfile和Pipfile.lock两份文件到新项目上
默认情况下,Pipenv会自动选择虚拟环境的存放位置,Windows下通常为C:\Users\xxx.virtualenvs\,Linux下为./local/share/virtualenvs/。如果想将虚拟环境文件夹存放在项目目录内,则设置环境变量PIPENV_VENV_IN_PROJECT=1,也可以通过设置环境变量WORKON_HOME来自定义存放位置。

新项目的终端执行命令:

恢复默认环境[packages]命令:pipenv install

恢复开发环境[dev-packages]命令:pipenv install --dev

pipenv install 可以用来建立独立的虚拟环境
但是默认情况下Pipenv会同一管理所有的虚拟环境,默认路径如下

(windows)默认路径 C:\Users\Administrator.virtualenvs
(Linux或macOS)默认路径 ~/.local/share/virtualenvs/

windows目前有以下三种方式:(注意注意:环境变量设置后一定得重启系统)
设置环境变量:在系统变量中创建 WORKON_HOME 变量,其值设置为存放的具体路径且路径必须已经创建好,如其值为D:\virtualenvs/,保存成功后新创建虚拟环境即可,即后续所有创建的虚拟环境都存在此路径下面
设置环境变量:在系统变量中创建 WORKON_HOME 变量,其值设置为存放的具体路径且路径必须已经创建好,如其值为PIPENV_VENV_IN_PROJECT,保存成功后新创建虚拟环境即可,创建虚拟环境后如下图,当前项目的根目录会生成PIPENV_VENV_IN_PROJECT的文件夹,此文件夹里面存在以项目名称开头名称的文件夹为虚拟环境(注意::和下方的.venv是一样的道理)
修改系统变量,使其所有虚拟环境都存放到对应项目文件夹下
设置环境变量:在系统变量中创建 WORKON_HOME 变量,其值设置为1,保存成功后新创建虚拟环境即可
此时pipenv会在当前项目根目录下创建.venv的目录和pipfile文件,.venv这个目录即为该项目的虚拟环境

yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel
tar -zxvf Python-3.9.5.tgz

./configure --prefix=/usr/local/python3.9
make
make install
最后出现Successfully字段后,说明安装成功

ln -s /usr/local/python-3.9.10/bin/python3.9 /usr/local/bin/python3
ln -s /usr/local/python-3.9.10/bin/pip3 /usr/local/bin/pip3

vi /etc/profile
#在文件底部添加两行代码
export PYTHON_HOME=/usr/local/python3.9
export PATH=${PYTHON_HOME}/bin:$PATH
#环境变量生效
source /etc/profile
#ModuleNotFoundError: No module named 'zlib'
sudo apt-get install zlib1g-dev
没有任何匹配: db4-devel
装上了 EPEL之后,就相当于添加了一个第三方源
yum install epel-release
没有任何匹配: epel-release
yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm


标题:python的pipenv使用和编译安装
作者:2638264600
地址:http://bk.isseeker.com/articles/2024/06/28/1719543077394.html