目录
Pipenv
安装
pipenv用来做python包和环境的管理。
centos
#首先查看是否按章pip了,
pip --version
#如果没有安装
sudo yum install python-pip
#最后
pip install pipenv
mac
brew install pipenv
ubuntu
#首先查看是否按章pip了,
pip --version
#如果没有安装
sudo apt-get install python-pip
#最后
pip install pipenv
基本命令
一般来说,你需要创建一个项目目录,然后cd进入该目录
# 创建虚拟环境
pipenv install # 创建指定python2.x版本的虚拟环境(系统自带的python版本)
pipenv install --python3.x #创建指定python版本的虚拟环境
pipenv install --two ##创建指定python2.x版本的虚拟环境(系统自带的python版本)
pipenv install --three ##创建指定python3.x版本的虚拟环境(系统自带的的python版本)
# 删除虚拟环境
pipenv --rm # 删除虚拟环境(注意:这并不会删掉当前环境下的Pipfile和Pipfile.lock文件)
# 激活虚拟环境
pipenv shell #激活虚拟环境
#退出虚拟环境
exit
#安装python包
pipenv install [packagename]. # 安装在当前环境下的python包
pipenv install django==1.11 # 安装指定版本的python包
pipenv install django==1.11 --dev # 安装指定版本的python包,此时是开发依赖。
pip list # ;列出当前环境下的已经安装的python包
pipenv uninstall [packagename] # 卸载在当前环境下的python包
pipenv uninstall --all # 卸载全部包
# 注意当安装包命令后缀 --dev 表示是安装开发环境包,当你将你的Pipfile文件给别人时,通过pipenv install 是不会安装开发环境依赖的包的,只安装生产环境的包。除非你也后缀--dev
# 其他操作
pipenv --py # 显示Python解释器信息
pipenv --venv # 获取虚拟环境目录路径(如果你想完全删除环境,也需要手动删除这个文件)
pipenv graph # 查看目前安装的库及其依赖
pipenv run python "python文件.py" # 运行python文件
pipenv lock # 更新Pipfile.lock文件锁定当前环境的依赖版本
修改默认源头
vim Pipfile
# 将[source]下的url那栏修改为清华镜像源
url = "https://pypi.tuna.tsinghua.edu.cn/simple"
与pip的交互
# 安装requirements.txt的模块并记录到Pipfile中
pipenv install -r requirements.txt
# 生成可供pip使用的requirements.txt
pipenv run pip freeze >> requirements.txt
# 或者
pipenv lock -r --dev > requirements.txt
Pipfile与Pipfile.lock
pipenv lock # 生成一个Pipfile.lock文件
" 注意:当你使用pipenv install [package] 如果你没指定包的版本,也就是没指定package == ???,那么Pipfile中记录的包的版本是"*",即当前包的最新版本。"
" 那么你用pipenv install 命令安装pipfile记录的依赖包时会出现和之前依赖包版本不一致的情况,因为包不断的更新,而你安装的总是最新的。"
" pipfile.lock中记录的是你依赖包的具体版本号(不管你安装时是否指定了包的版本),因此最理想的就是根据pipfile.lock安装项目依赖,这样不会出现版本不一致的情况。"
pipenv sync
# 最理想的是,当你项目完全开发完后,使用pipenv lock,然后将Pipfile和Pipfile.lock上传,最后执行pipenv install 安装依赖。
pyenv
安装
pyenv主要用来做python版本管理。
pyenv安装前首先要确保git是安装好的,否则先安装git,顺便一起安装好依赖。
centos
//centos
yum -y install gcc zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel git
git clone https://github.com/pyenv/pyenv.git ~/.pyenv
# 如果你的shell是bash
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n eval "$(pyenv init -)"\nfi' >> ~/.bashrc
exec $SHELL
# 如果你的shell是zsh
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc
echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n eval "$(pyenv init -)"\nfi' >> ~/.zshrc
exec $SHELL
ubuntu
"依赖"
sudo apt update
sudo apt-get update
sudo apt install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python-openssl git
sudo apt install -y libedit-dev
#正式安装
curl -L https://raw.githubusercontent.com/yyuu/pyenv-installer/master/bin/pyenv-installer | bash
echo 'export PATH="/root/.pyenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc
echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bashrc
Tips: 在执行curl那一条命令时有可能出现curl: (7) Failed to connect to raw.githubusercontent.com port 443。这时需要在配置hosts文件,详见博客。
mac
brew install pyenv
配置和centos一样,根据shell是zsh还是bash来配置。
基本命令
pyenv version //查看当前python版本
pyenv versions //查看已安装的所有python版本
pyenv global 版本号 //设置全局python,例如 pyenv global 3.6.6
pyenv global system // 将全局python设置为系统默认
pyenv install 版本号 //安装指定版本的python
pyenv uninstall 版本号 //删除python版本或者虚拟环境
pyenv install --list //列出所有可以安装的python版本
pyenv which python //显示当前python安装路径