asp做网站基本过程商标设计图片
news/
2025/10/5 11:31:29/
文章来源:
asp做网站基本过程,商标设计图片,用宝塔做网站步骤,3d打印 东莞网站建设在之前写过一篇关于虚拟环境使用的文章#xff0c;但是还没有好好的介绍一下 Python 的用户环境#xff0c;原因是自己一直没遇到要使用 用户环境 的使用场景#xff0c;所以就一直懒得写。恰巧这两天#xff0c;自己遇到了一个使用用户环境的体验可以完爆虚拟环境的案例但是还没有好好的介绍一下 Python 的用户环境原因是自己一直没遇到要使用 用户环境 的使用场景所以就一直懒得写。恰巧这两天自己遇到了一个使用用户环境的体验可以完爆虚拟环境的案例就拿出来分享一下。1. 我的使用背景公司有数以万计的服务器为了对实现对访问记录进行集中管理以及出于安全考虑每台服务器都有访问限制必须使用公司的跳板机才能登陆。每个公司的员工在跳板机上都有自己的用户、 家目录对于很多需要 root 权限的操作是高度受限制的。比如我现在我要在跳板机上实现远程登陆大批量的机器进行一些维护工作当然我这里使用的还是 Python 来实现这个 Python 脚本里有一些依赖库(比如 之前介绍过的 paramiko 这个神器)在跳板机上中并没有安装。做为普通用户的你是没有权限安装第三方包的。问题就来了我如何才能在跳板机中使用 paramiko 这个包呢2. 为何不使用虚拟环境既然不能对全局的 Python 环境进行更改那我完全可以自己再创建一个环境只要这个环境里事先装好 paramiko 这个包不就好了。因此使用虚拟环境是一种解决方案但它并不是一个完美的解决方案。原因有以下几点1、 创建虚拟环境的过程步骤较多比较复杂。这里的复杂是相对于我后面要使用的用户环境而言。2、 虚拟环境是包含一整个 Python 解释器存在大量与系统重复的包size比较大并不轻便。3、 使用 console 模式调试的话进入很不方便就算你不使用 console 模式你调用脚本的方式也会很奇怪你得这样如果你不想使用这样可以给这个脚本加个可执行权限并在脚本的第一行指定你的解释器省去了一点点麻烦可即便如此我仍然感觉很别扭。你可能会问我为什么不使用 virtualenv virtualenvwrapper 这样可以使用 workon 进入虚拟环境。原因是跳板机里的都是很古老的包你看上面的 Python 还是 2.7.5 呢所以你所说的那些工具通通没有。3. 用户环境原理这里要介绍的这种方案(用户环境)可能很多人都没有使用过甚至没有听过它算是一个冷门但是非常好用的功能。操作之前 先简单介绍一下它。先提一个问题Python 在查找导入包时如果我们多个路径都有这个包那 Python 如何确定应该从哪个路径进行导入呢答案是 搜索导入路径是有优先级的你可以通过 sys.path 进行查看。可以看到路径 /home/wangbm/.local/lib/python2.7/site-packages 是优先于 /usr/lib64/python2.7/site-packages 路径的。这就是 用户环境 的原理只要我们将包装在自己家目录下就可以优先于全局环境中进行查找。使用起来可以做到用户无感知跟使用原生的全局环境并没有区别。4. 具体操作方法创建一个用户环境并安装上你所需要的包一条命令就能搞定这可比虚拟环境简单方便多了。那么怎么操作呢只要你在使用 pip 安装包时加上 --user 参数pip 就会将其安装在当前用户的 ~/.local/lib/python2.x/site-packages 下而其他用户的 python 则不会受影响。$ pip install --user pkg这里要注意的是不能使用这种方式亲测它会将包装到全局环境下具体原因我还没有深究。$ python -m pip install --user pkg为了让你理解这个过程我这里来举个例子并且验证其是否可以做到用户隔离。有了这个思路我就可以先在其他机器(前提自己必须拥有管理员权限 )上创建一个用户环境并且安装上 paramiko 这个包。然后将这个用户环境压缩拷贝至跳板机自己的家目录下的 .local/lib 目录下并解压。然后直接使用 python 进入 console 模式现在已经可以直接使用 paramiko 这个包了。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/928193.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!