文章目录
- 前置工作
-
- 环境说明
- [pypi 换源](#pypi 换源)
- [安装 uv](#安装 uv)
- [uv 写入环境变量](#uv 写入环境变量)
- [无法打开 github 解决方案(注意此方法可能也会失效)](#无法打开 github 解决方案(注意此方法可能也会失效))
- [安装多版本 python](#安装多版本 python)
-
- 查看已安装的python
- [uv python install](#uv python install)
-
- [到 uv 的 github 主页,找安装文件](#到 uv 的 github 主页,找安装文件)
- 下载到本地准备安装
- 设置环境变量并安装
- 验证安装结果
前置工作
环境说明
虚拟机:virtualbox
操作系统:kali linux
virtualbox官网地址:https://www.virtualbox.org/
kali linux 中科大镜像:https://mirrors.ustc.edu.cn/kali-images/kali-2025.2/kali-linux-2025.2-virtualbox-amd64.7z
如果kali无法访问网络
启动前请添加一块网卡
pypi 换源
pip config set global.index-url https://mirrors.ustc.edu.cn/pypi/simple
安装 uv
pip install uv
安装后会无法找到uv
的bin
文件,因为二进制文件没有写入环境变量,写入后即可解决。
bash
┌──(kali㉿kali)-[~]
└─$ pip install uv
Defaulting to user installation because normal site-packages is not writeable
Looking in indexes: https://mirrors.ustc.edu.cn/pypi/simple
Collecting uv
Downloading https://mirrors.ustc.edu.cn/pypi/packages/5e/62/0d1ba1c666c5492d3716d8d3fba425f65ed2acc6707544c3cbbd381f6cbe/uv-0.8.3-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (18.7 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 18.7/18.7 MB 9.3 MB/s eta 0:00:00
Installing collected packages: uv
Successfully installed uv-0.8.3
# 利用 which 查看发现没有找到uv可执行文件
┌──(kali㉿kali)-[~]
└─$ which uv
uv not found
# 在当前目录查找下,发现在 下面第一个目录里
┌──(kali㉿kali)-[~]
└─$ find . -name uv
./.local/bin/uv
./.local/lib/python3.11/site-packages/uv
uv 写入环境变量
临时写入
export PATH="$HOME/.local/bin:$PATH"
bash
┌──(kali㉿kali)-[~]
└─$ which uv
/home/kali/.local/bin/uv
┌──(kali㉿kali)-[~]
└─$ uv --help | head -3
An extremely fast Python package manager.
Usage: uv [OPTIONS] <COMMAND>
永久写入
上面是临时设置,如要持久化可把上面命令写入~/.zshrc
或者~/.bashrc
等文件中
重新ssh到服务器发现uv
已经可以直接which
到
bash
PS C:\Users\Administrator> ssh kali@192.168.56.103
kali@192.168.56.103's password:
Linux kali 6.8.11-amd64 #1 SMP PREEMPT_DYNAMIC Kali 6.8.11-1kali2 (2024-05-30) x86_64
The programs included with the Kali GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Kali GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Fri Jul 25 22:09:40 2025 from 192.168.56.1
┌──(kali㉿kali)-[~]
└─$ which uv
/home/kali/.local/bin/uv
# 注意根据自己的 shell 来,演示环境是 zsh
┌──(kali㉿kali)-[~]
└─$ tail -n 1 .zshrc
export PATH="$HOME/.local/bin:$PATH"
┌──(kali㉿kali)-[~]
└─$ echo $SHELL
/usr/bin/zsh
无法打开 github 解决方案(注意此方法可能也会失效)
后面要访问github,如果无法访问,物理机使用下面命令,不过记得修改成自己的chrome路径,powershell命令有&,cmd请去掉&。
&"Y:\通用工具\谷歌浏览器\win10\chrome.exe" --host-rules="MAP github.com octocaptcha.com, MAP github.githubassets.com yelp.com, MAP *.githubusercontent.com githubusercontent.com" --host-resolver-rules="MAP octocaptcha.com 20.27.177.113, MAP yelp.com 199.232.240.116, MAP githubusercontent.com 199.232.176.133"
安装多版本 python
查看已安装的python
uv python list
bash
┌──(kali㉿kali)-[~]
└─$ uv python list
cpython-3.14.0rc1-linux-x86_64-gnu <download available>
cpython-3.14.0rc1+freethreaded-linux-x86_64-gnu <download available>
cpython-3.13.5-linux-x86_64-gnu <download available>
cpython-3.13.5+freethreaded-linux-x86_64-gnu <download available>
cpython-3.12.11-linux-x86_64-gnu <download available>
cpython-3.11.13-linux-x86_64-gnu <download available>
cpython-3.11.9-linux-x86_64-gnu /usr/bin/python3.11
cpython-3.11.9-linux-x86_64-gnu /usr/bin/python3 -> python3.11
cpython-3.11.9-linux-x86_64-gnu /usr/bin/python -> python3
cpython-3.10.18-linux-x86_64-gnu <download available>
cpython-3.9.23-linux-x86_64-gnu <download available>
cpython-3.8.20-linux-x86_64-gnu <download available>
pypy-3.11.13-linux-x86_64-gnu <download available>
pypy-3.10.16-linux-x86_64-gnu <download available>
pypy-3.9.19-linux-x86_64-gnu <download available>
pypy-3.8.16-linux-x86_64-gnu <download available>
graalpy-3.11.0-linux-x86_64-gnu <download available>
graalpy-3.10.0-linux-x86_64-gnu <download available>
graalpy-3.8.5-linux-x86_64-gnu <download available>
uv python install
假设需要安装 cpython-3.8.20-linux-x86_64-gnu
,使用命令uv python install cpython-3.8
,不过因为从github拉安装包,会timeout导致error。
bash
┌──(kali㉿kali)-[~]
└─$ uv python install cpython-3.8
cpython-3.8.20-linux-x86_64-gnu (download) ------------------------------ 7.53 MiB/19.89 MiB
error: Failed to install cpython-3.8.20-linux-x86_64-gnu
Caused by: Failed to extract archive: cpython-3.8.20-20241002-x86_64-unknown-linux-gnu-install_only_stripped.tar.gz
Caused by: I/O operation failed during extraction
Caused by: failed to unpack `/home/kali/.local/share/uv/python/.temp/.tmp7iIfCn/python/lib/libpython3.8.so.1.0`
Caused by: failed to unpack `python/lib/libpython3.8.so.1.0` into `/home/kali/.local/share/uv/python/.temp/.tmp7iIfCn/python/lib/libpython3.8.so.1.0`
Caused by: error decoding response body
Caused by: request or response body error
Caused by: operation timed out
留意Caused by: Failed to extract archive: cpython-3.8.20-20241002-x86_64-unknown-linux-gnu-install_only_stripped.tar.gz
的日期20241002
到 uv 的 github 主页,找安装文件
地址:https://github.com/astral-sh/python-build-standalone
release
里面并没有 cpython3.8
把release
的url
的日期修改成出错里的20241002
再访问,再把上面的下载文件:
cpython-3.8.20-20241002-x86_64-unknown-linux-gnu-install_only_stripped.tar.gz
的文件名,改成
cpython-3.8.20+20241002-x86_64-unknown-linux-gnu-install_only_stripped.tar.gz
进行搜索,搜索后下载到本地即可。
下载到本地准备安装
下载到本地后,用virtualbox
拖放进去或者scp
进去
cmd
C:\Users\Administrator\Downloads>scp "cpython-3.8.20+20241002-x86_64-unknown-linux-gnu-install_only_stripped.tar.gz" kali@192.168.56.103:~/Desktop
kali@192.168.56.103's password:
cpython-3.8.20+20241002-x86_64-unknown-linux-gnu-install_only_stripped.tar.gz 100% 20MB 290.9MB/s 00:00
设置环境变量并安装
bash
┌──(kali㉿kali)-[~/Desktop]
└─$ export UV_PYTHON_INSTALL_MIRROR=file:///home/kali/Desktop
┌──(kali㉿kali)-[~/Desktop]
└─$ mkdir 20241002
┌──(kali㉿kali)-[~/Desktop]
└─$ mv cpython-3.8.20+20241002-x86_64-unknown-linux-gnu-install_only_stripped.tar.gz 20241002
┌──(kali㉿kali)-[~/Desktop]
└─$ uv python install cpython-3.8
Installed Python 3.8.20 in 481ms
+ cpython-3.8.20-linux-x86_64-gnu (python3.8)
┌──(kali㉿kali)-[~/Desktop]
└─$ tree
.
└── 20241002
└── cpython-3.8.20+20241002-x86_64-unknown-linux-gnu-install_only_stripped.tar.gz
验证安装结果
bash
┌──(kali㉿kali)-[~/Desktop]
└─$ uv python list
cpython-3.14.0rc1-linux-x86_64-gnu <download available>
cpython-3.14.0rc1+freethreaded-linux-x86_64-gnu <download available>
cpython-3.13.5-linux-x86_64-gnu <download available>
cpython-3.13.5+freethreaded-linux-x86_64-gnu <download available>
cpython-3.12.11-linux-x86_64-gnu <download available>
cpython-3.11.13-linux-x86_64-gnu <download available>
cpython-3.11.9-linux-x86_64-gnu /usr/bin/python3.11
cpython-3.11.9-linux-x86_64-gnu /usr/bin/python3 -> python3.11
cpython-3.11.9-linux-x86_64-gnu /usr/bin/python -> python3
cpython-3.10.18-linux-x86_64-gnu <download available>
cpython-3.9.23-linux-x86_64-gnu <download available>
cpython-3.8.20-linux-x86_64-gnu /home/kali/.local/bin/python3.8 -> /home/kali/.local/share/uv/python/cpython-3.8.20-linux-x86_64-gnu/bin/python3.8
cpython-3.8.20-linux-x86_64-gnu /home/kali/.local/share/uv/python/cpython-3.8.20-linux-x86_64-gnu/bin/python3.8
pypy-3.11.13-linux-x86_64-gnu <download available>
pypy-3.10.16-linux-x86_64-gnu <download available>
pypy-3.9.19-linux-x86_64-gnu <download available>
pypy-3.8.16-linux-x86_64-gnu <download available>
graalpy-3.11.0-linux-x86_64-gnu <download available>
graalpy-3.10.0-linux-x86_64-gnu <download available>
graalpy-3.8.5-linux-x86_64-gnu <download available>
bash
┌──(kali㉿kali)-[~/Desktop]
└─$ uv run -p 3.8 python -c "import os;os.system('python -V')"
Python 3.8.20
┌──(kali㉿kali)-[~/Desktop]
└─$ uv run -p 3.11 python -c "import os;os.system('python -V')"
Python 3.11.9