- 如果
install
命令后没有包名,则[packages]
中所有的包都会被安装
pip3 install pipenv
创建虚拟环境
- 首先要进入项目的目录
- 查看当前的虚拟环境
pipenv --venv
如果没有虚拟环境,会提示 - 根据指定解释器(系统本身要有该python版本),创建虚拟环境
pipenv --python 3.6
此时会在该目录下创建虚拟环境,并复制系统的python 3.6
PipenvTest-VSTVh89E/bin
中存放了pip、pip3、pip.6、python、python3、python3.6
此时的虚拟环境只有python的内置包,以及pip
wheel
stuptools
包
进入虚拟环境
-
pipenv shell
该方法将这个路径加入到了全局换将变量前面,所以会优先调用虚拟环境(类似于virtualenv中的 source env/bin/activate)
可以通过linux
中的which
查看python
的命令的执行路径,是否已经变成了虚拟环境 -
pipenv install package
此时会生成Pipfile和Pipfile.lock文件
Pipfile文件是TOML格式文件,记录了依赖包的基本信息
Piplock文件则记录了更详细的系信息,比如在安装时如果没有指定package版本时,Pipfile中是将版本记录成*的,但是Pipfile.lock则会记录当时的版本,如果该包更新了新版本,该环境还是会根据Pipfile.lock文件来安装特定的版本.
所以不要修改pipfile.lock文件
pipenv install requests==1.2 # 使用~=则相当于1.*
pipenv install "requests>=1.4" # 只安装等于或者大于 1.4.0 的版本
pipenv install "requests<=2.13" # 只安装小于或者等于 2.13.0 的版本
pipenv install "requests>2.19" # 安装 2.19.1 版本但是不安装 2.19.0 版本
pipenv install -r path/to/requirements.txt
从requirements中安装三方包pipenv install --pypi-mirror <mirror_url>
指定镜像安装
** 部署 **
pipenv install
安装.lock所有包,并且更新的最新
pipenv install --deploy
,如果包不是最新的则会安装失败
pipenv sync
:严格按照.lock文件夹中的包版本进行安装
退出虚拟环境
exit
常用命令
参数 | 描述 |
---|---|
–where | 查看项目目录 |
–venv | 查看虚拟环境路径(Pipenv会把虚拟环境统一方法在virtualenvs中,而不是在项目中) |
–py | 查看python解释器路径 |
–rm | 删除虚拟环境 |
–bare | |
–completion | ?? |
–python TEXT | 指定虚拟环境版本 |
–site-packages | 加载系统的第三方包(一般不使用) |
shell | 进入虚拟环境 |
install | 虚拟环境安装第三方模块,后面加-dev 参数,这时安装的包记录在[dev-packages] 下,在开发环境时不会输出.如果后面不加具体的包则会从.lock文件中加载 |
uninstall | 卸载包,--all 参数会删除所有的包 |
graph | 查看当前虚拟环境依赖的关系 |
lock | 生成lock文件 |
clean | 清理虚拟环境依赖,值保留.lock文件中的依赖 |
run | 虚拟环境运行 |
sync | 安装.lock文件中的所有依赖 |
update | 升级依赖包.默认更新所有包,给<pkg> 则更新指定包,--outdated 参数查看过期的依赖包 |
更改虚拟环境的安装路径
https://blog.csdn.net/swinfans/article/details/89305301
参考:
https://cuiqingcai.com/5846.html
https://blog.csdn.net/haiyanggeng/article/details/82382993
https://pypi.org/project/pipenv/
https://blog.csdn.net/swinfans/article/details/89305301