简介——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
|