Ubuntu 22.04中 python3 site-package 路径问题

以前一直用的CentOS环境,也许主要原因是权限一直比较大,site-packages 一般是如下目录。

# On CentOS 环境,安装的python package 在以下目录
/usr/local/lib/python3.7/site-packages

# 不在下面
/usr/lib/python3.7/site-packages

今年用Ubuntu 22.04,才注意到安装的 site-packages 是在每个用户的/home 下。这样如果一个python script 给其他用户使用,一定要确保依赖的package也被安装了。可以使用 python3 -m site 查看自己的USER_BASE, USER_SITE.

jjing@[hostname]:~$ python3 -m site
sys.path = [
    '/home/jjing',
    '/usr/lib/python310.zip',
    '/usr/lib/python3.10',
    '/usr/lib/python3.10/lib-dynload',
    '/home/jjing/.local/lib/python3.10/site-packages',
    '/usr/local/lib/python3.10/dist-packages',
    '/usr/lib/python3/dist-packages',
]
USER_BASE: '/home/jjing/.local' (exists)
USER_SITE: '/home/jjing/.local/lib/python3.10/site-packages' (exists)
ENABLE_USER_SITE: True

root@[hostname]:~# python3 -m site
sys.path = [
    '/root',
    '/usr/lib/python310.zip',
    '/usr/lib/python3.10',
    '/usr/lib/python3.10/lib-dynload',
    '/usr/local/lib/python3.10/dist-packages',
    '/usr/lib/python3/dist-packages',
]
USER_BASE: '/root/.local' (exists)
USER_SITE: '/root/.local/lib/python3.10/site-packages' (doesn't exist)
ENABLE_USER_SITE: True

可以参考文章 更新pip默认安装路径 修改site.py 文件中 USER_BASEUSER_SITE这两个参数值。

sudo vi /usr/lib/python3.10/site.py 

也可以把ENABLE_USER_SITE设为False

# Enable per user site-packages directory
# set it to False to disable the feature or True to force the feature
#ENABLE_USER_SITE = None
ENABLE_USER_SITE = False

因此Ubuntu下安装package 相当于用下面的命令给当前用户安装。

$ pip3 install --user <package name>
Ubuntu 22.04上安装Python 3.8.6,你可以参考以下步骤: 1. 首先,确保你的系统已经更新到最新的软件包目录。可以使用以下命令刷新软件包目录: ``` sudo apt update ``` 2. 接下来,安装Python 3.8.6所需的依赖项。可以使用以下命令安装所需的依赖项: ``` sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev libbz2-dev liblzma-dev sqlite3 libsqlite3-dev tk-dev uuid-dev libgdbm-compat-dev ``` 3. 下载Python 3.8.6的源代码。你可以从Python官方网站下载源代码包,并将其解压缩到你喜欢的目录中。 4. 进入解压缩后的源代码目录,并执行以下命令进行配置: ``` ./configure --prefix=/usr/local/python3.8.6 ``` 5. 配置完成后,执行以下命令进行编译和安装: ``` make sudo make install ``` 6. 安装完成后,你可以使用以下命令验证Python 3.8.6的安装: ``` python3.8.6 --version ``` 请注意,安装Python 3.8.6后,系统原有的Python 3.10仍然存在,并且不应该移除系统原有的Python环境,也不要对python3等命令进行修改。\[2\] 希望这些步骤对你有帮助! #### 引用[.reference_title] - *1* [Shell脚本:在Linux系统Ubuntu22.04快速部署Python3.8.6](https://blog.csdn.net/fragnant2020/article/details/131300611)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [在 Ubuntu 22.04 上安装 Python 3.9(多版本适用)](https://blog.csdn.net/mziing/article/details/124475877)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值