python多环境管理

简介——Debian/Ubuntu中管理多版本Python pyenv是管理Python版本的工具,它支持在多个Python版本间切换。

一、安装pyenv

1
2
3
4
5
6
git clone https://github.com/yyuu/pyenv.git ~/.pyenv

echo 'export PATH=~/.pyenv/bin:$PATH' >> ~/.bashrc
echo 'export PYENV_ROOT=~/.pyenv' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc
source ~/.bashrc 

/ 查看安装的 python 版本 pyenv versions // 查看可安装 python 版本 pyenv install -l // 安装与卸载指定 python 版本 pyenv install 2.7.3 pyenv uninstall 2.7.3

// 不同 python 版本之间切换 // 设置全局的 Python 版本,通过将版本号写入 ~/.pyenv/version 文件的方式

pyenv global 2.7.3

// 设置 Python 本地版本,通过将版本号写入当前目录下的 .python-version 文件的方式。通过这种方式设置的 Python 版本优先级较 global 高

pyenv local 2.7.3

pyenv install 3.7.0 #指定使用python版本 pyenv rehash #刷新 – 卸载指定版本的Python pyenv unstall 3.5.1 – 设置shell的Python版本 pyenv shell 3.5.1

pyenv-virtual是pyenv的插件,它支持管理多个virtualenv

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
git clone https://github.com/yyuu/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)" # 加入 ~/.bashrc  ;
source   ~/.bashrc 

pyenv virtualenvs #列出virtualenv
pyenv activate site  #激活/ virtualenv
pyenv deactivate  #退出 virtualenv
pyenv install 3.7.9  #安装 python 3.7.9  
pyenv uninstall 	aiohttp-virtual-env #删除virtualenv

pyenv virtualenv [version] <virtualenv-name>   创建虚拟环境

这个命令可以以某版本的 python 为基础创建名为 virtualenv-name 的虚拟环境,如果不指定 python 的版本,那么就会以当前的 python 版本为基础创建虚拟环境。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
pyenv virtualenv   2.7.18 zhiwen ;pyenv activate zhiwen ;pyenv activate zhiwen


pyenv virtualenv-delete  env_name  删除虚拟环境
virtualenv -p /usr/bin/python3 
// 通过 -p 参数指定 pyenv 安装的 python 3.6.6 的 bin 目录

virtualenv -p /root/.pyenv/versions/3.6.6/bin/python3.6 py3.6

virtualenv -p /root/.pyenv/versions/3.7.0/bin/python3.7  bigsite-py37   ;pyenv activate bigsite-py37 或者source bigsite-py37/bin/activate 
mkvirtualenv 3.6hot

mkvirtualenv -p python3.6 3.6hot

报错:ImportError: No module named ’encodings’ 经查,原因是我用的python版本为3.x,用virtualenv创建虚拟目录时,默认版本为2.7。 解决方法是生成虚拟目录时指定python的版本。 rm -rf .virtualenvs # 删除生成的虚拟目录 一般在/User/Mac_name/ 下 virtualenv -p /usr/local/bin/python3 .virtualenvs/ # 重新创建虚拟目录,指定使用python3 source .virtiualenvs/bin/activate # 激活虚拟环境 —或者

1
2
3
4
rm -rf /root/.pyenv/versions/bigsite-py38
virtualenv -p /usr/bin/python3 /root/.pyenv/versions/bigsite-py38
source /root/.pyenv/versions/bigsite-py38/bin/activate
pip install -r requirements.txt

注意/usr/bin/python3 为实际地址


1
2
3
4
5
6
micsoft   /www/Douyin_TikTok_Download_API
pyenv install -l
pyenv --version
pyenv install  3.10.10
pyenv global 3.10.10
pyenv versions

pyenv virtualenv –version 报错,没有这个插件【git clone https://github.com/pyenv/pyenv-virtualenv.git $(pyenv root)/plugins/pyenv-virtualenv 然后 exec “$SHELL” 解决】

1
2
3
4
5
6
7
pyenv virtualenv 3.10.10  tiktokapi 
pyenv activate tiktokapi  # 不能用workon 命令,它是 virtualenvwrapper 的命令  ;激活名为 tiktokapi 的虚拟环境:
pyenv deactivate  # 退出

poetry new 3.10chat #   可以不用poetry new 3.10chat   直接poetry install 吗?然后 poetry run python main.py  poetry new 3.10chat 是用于创建一个新的 Python 项目,并在项目目录下生成一些初始文件和结构。 
poetry install  #行 poetry install 来安装依赖项,然后使用 poetry run python main.py 运行项目中的 main.py 文件
poetry run python main.py

Python版本: 3.7

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
安装依赖库: pip3 install -r requirements.txt

复制单个页面
python sitecopy.py -u "http://www.test.com"

复制整个网站
python  /usr/src/SiteCopy/sitecopy.py -u "https://www.test.com/" -e -d 200 -t 3

复制多个页面
python sitecopy.py -s "site.txt"

复制多个网站
python sitecopy.py -s "site.txt" -e

指定链接爬取的循环次数: -d (默认为200)

指定线程数:-e (默认为30)

例子: 爬取 www.test.com 网站所有页面,指定链接爬取的循环次数为200,指定线程数为30

python sitecopy.py -u "http://www.test.com" -e -d 200 -t 30

随机文章