Pipenv 使用教程
Anaconda 是一个开箱即用的 Python 开发环境,同时也包含虚拟环境管理工具 conda。但是 Anaconda 的缺点包括:
- 大型安装包:Anaconda 的安装包相对较大,需要消耗较多的磁盘空间。
- 依赖冲突:在使用 Anaconda 时,若安装包过多可能会出现依赖冲突的情况,需要手动解决。此时则可建立Python虚拟环境来解决上述两个问题。
当您需要创建和管理Python虚拟环境时,可以使用 Pipenv。Pipenv 是一个简单易用的Python虚拟环境管理工具,除开 Pipenv 外,您还可以选择 pyenv、venv、virtualenv 或者是 Anaconda 内置的 conda。
安装 Pipenv:
同时按下 Windows徽标键+R,输入 cmd 进入命令提示符(或使用 Powershell)
命令提示符中运行以下命令:
$ pip install --user pipenv
安装完成后,输入 pip list 查看是否已安装成功
- 查看版本命令
$ pipenv --version
- 升级 Pipenv
$ pip install --upgrade pipenv
- 卸载 Pipenv
$ pip uninstall pipenv
注意:这里安装 Pipenv 时使用的 pip 来源于您已经安装的Python环境,以下简称 base 环境。这意味着您至少需要在电脑上有一个已经安装好的Python环境(若同时安装了 Python 和 Anaconda,推荐使用 Python 而非 Anaconda)
- 不少系统会对 base 环境进行保护,使之不能安装第三方包:已知 Windows、Ubuntu 不存在此类问题;MacOS 存在该问题,除了安装 base 环境外,还需要用 brew 或 homebrew 单独安装 Pipenv
- 一些 Linux 发行版如 Arch Linux、openSUSE 存在该问题。对于 Arch Linux,可以从官方仓库下载 python-pipenv 包,openSUSE 请先使用 virtualenv 创建用户环境后再进行安装
- 更多信息请参照 Pipenv 官方文档:https://pipenv.pypa.io/en/latest/
创建虚拟环境:
进入您的项目目录。如果尚未创建项目,请先创建一个
- 运行以下命令
$ pipenv install
这将创建一个虚拟环境并安装您项目中(若已有 Pipfile)所需的所有依赖项。
- 激活虚拟环境
$ pipenv shell
这将激活虚拟环境,您将在终端提示符中看到环境名称。
- 在虚拟环境中安装依赖:
在激活的虚拟环境中,您可以使用 Pipenv 安装依赖
$ pipenv install <包名>
同时也可以输入 pipenv -h
来获取命令列表
退出虚拟环境:
当您完成项目工作时,可以运行以下命令退出虚拟环境:
$ exit
这些步骤将帮助您安装和使用 Pipenv,请根据您的项目需要激活和退出虚拟环境。
常见问题:
- 在使用 Pipenv 创建虚拟环境时失败,出现类似这样的错误:
$ pipenv install
Creating a virtualenv for this project…
Pipfile: D:\my\weihub-flask\Pipfile
Using c:\users\lzjun\appdata\local\programs\python\python37-32\python.exe (3.7.1) to create virtualenv…
[ ===] Creating virtual environment...Already using interpreter c:\users\lzjun\appdata\local\programs\python\python37-32\python.exe
Using base prefix 'C:\\users\\lzjun\\appdata\\local\\programs\\python\\python37-32'
New python executable in C:\Users\lzjun\.virtualenvs\weihub-flask-j3rUnHkH\Scripts\python.exe
ERROR: The executable C:\Users\lzjun\.virtualenvs\weihub-flask-j3rUnHkH\Scripts\python.exe is not functioning
ERROR: It thinks sys.prefix is 'd:\\my\\weihub-flask' (should be 'c:\\users\\lzjun\\.virtualenvs\\weihub-flask-j3runhkh')
ERROR: virtualenv is not compatible with this system or executable
Note: some Windows users have reported this error when they installed Python for "Only this user" or have multiple versions of Python installed. Copying the appropriate PythonXX.dll to the virtualenv Scripts/ directory may fix this problem.
Failed creating virtual environment
[pipenv.exceptions.VirtualenvCreationException]: File "c:\users\lzjun\appdata\local\programs\python\python37-32\lib\site-packages\pipenv\cli\command.py", line 254, in install
[pipenv.exceptions.VirtualenvCreationException]: editable_packages=state.installstate.editables,
[pipenv.exceptions.VirtualenvCreationException]: File "c:\users\lzjun\appdata\local\programs\python\python37-32\lib\site-packages\pipenv\core.py", line 1741, in do_install
[pipenv.exceptions.VirtualenvCreationException]: pypi_mirror=pypi_mirror,
[pipenv.exceptions.VirtualenvCreationException]: File "c:\users\lzjun\appdata\local\programs\python\python37-32\lib\site-packages\pipenv\core.py", line 574, in ensure_project
[pipenv.exceptions.VirtualenvCreationException]: pypi_mirror=pypi_mirror,
[pipenv.exceptions.VirtualenvCreationException]: File "c:\users\lzjun\appdata\local\programs\python\python37-32\lib\site-packages\pipenv\core.py", line 506, in ensure_virtualenv
[pipenv.exceptions.VirtualenvCreationException]: python=python, site_packages=site_packages, pypi_mirror=pypi_mirror
[pipenv.exceptions.VirtualenvCreationException]: File "c:\users\lzjun\appdata\local\programs\python\python37-32\lib\site-packages\pipenv\core.py", line 935, in do_create_virtualenv
[pipenv.exceptions.VirtualenvCreationException]: extra=[crayons.blue("{0}".format(c.err)),]
[pipenv.exceptions.VirtualenvCreationException]: Fatal Python error: initfsencoding: unable to load the file system codec
Traceback (most recent call last):
File "C:\Users\lzjun\.virtualenvs\weihub-flask-j3rUnHkH\lib\encodings\__init__.py", line 31, in <module>
File "C:\Users\lzjun\.virtualenvs\weihub-flask-j3rUnHkH\lib\codecs.py", line 481
except UnicodeDecodeError, exc:
^
SyntaxError: invalid syntax
- 使用
pip list
检查你是否安装了 virtualenv,Pipenv 需要此软件包 - 若问题仍存在,可能是你的系统中安装多有个版本的 Python,可以模糊搜索 Python*.dll ,把那些不相关的全部删除,重新试试。
-
在虚拟环境中运行Python程序时出现“无法初始化设备 PRN”
不能在 cmd 和 Powershell 中直接输入Python代码
这样就会像图片一样提示无法初始化设备 PRN
注意:如果要使用交互式编程环境(REPL),则请输入python
后回车进入Python运行环境,即可正常运行你的代码
-
一直卡在 Locking 过程中
这是 Pipenv 正在检查依赖冲突和下载安装包(不会显示进度条),如果你觉得太慢可以选择跳过检查依赖冲突,pipenv install --skip-lock <软件包名>
-
如何提高下载速度
修改 pip 镜像源为阿里云,清华源等镜像
全局修改:pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
如果你只想对当前项目进行修改,则可以修改 Pipfile [[source]] 中的 URL 项
作者:Taa Sun
编辑:米釉
西南财经大学电脑义务维修队
标签:平替,Pipenv,pipenv,Python,python,虚拟环境,lzjun From: https://www.cnblogs.com/swufe-computer/p/tutor_pipenv.html