PyCharm以sudo/root运行python脚本

sudo pycharm

  这可以以root执行python脚本,但是不应该使用 sudo 运行 pycharm。这不是一个好方法。sudo 不会将整个环境从user传递到superuser环境。

PyCharm配置 python interpreter

1. 先通过 which python 获得 python 指令所在路径:

$ which python
/usr/local/bin/python

  这个python可能是Python2也可能是Python3,取决自己的默认配置,我这里默认是python3, /usr/local/bin/python下既有python2.7文件,也有python3.8文件。

2. 创建 sudo 脚本

  如上得到了其所在路径是/usr/local/bin/python ,因此我创建了一个文件:vim /usr/local/bin/python-sudo.sh ,然后i填入:

#!/bin/bash
sudo /usr/local/bin/python "$@"

  如果要用python2, 则填:

#!/bin/bash
sudo /usr/local/bin/python2 "$@"

  wq编辑完退出后,给其执行权限:

sudo chmod -R 777 /usr/local/bin/python-sudo.sh

3. 使用脚本作为 Python 解释器

  在 PyCharm 中,转到"Settings">"Python Interpreter"。单击当前项目解释器下拉列表旁边的齿轮图标,然后选择"Add..."。然后在"Virtualenv Environment"选择"Existing environment", 勾选"Make available to all projects",“Interpreter"浏览到 python-sudo.sh 并选择它,并将其设置为项目的解释器。

  现在,运行或调试时,代码将以 root 用户身份运行。

4. 当前用户执行 sudo python 不需要输入密码执行

  如果不使用NOPASSWD选项,它在技术上仍然可以工作,但会有点烦人,必须在每次运行时提供密码。如果从终端窗口运行 PyCharm,sudo 提示会出现在那里,而不是 PyCharm 中的任何位置。

  此外,当将shell脚本添加为解释器时,PyCharm显然会多次执行它,因为终端会收到带有密码提示的垃圾邮件。

  我们可以这样操作:

sudo visudo -f /etc/sudoers.d/python

  添加以下格式的行:

<user> <host> = (root) NOPASSWD: <full path to python>

  例如:

bgone CN-FEDORA = (root) NOPASSWD: /usr/local/bin/python
  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值