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