我使用了本教程(GoDaddy录制,因为我有GoDaddy VPS)
https://www.godaddy.com/garage/how-to-install-and-configure-python-on-a-hosted-server/
安装Python的辅助版本(3.6.6)并创建一个虚拟环境以使用Python的辅助版本运行模块。我希望能够在虚拟环境中运行脚本,但不希望始终使用管理员帐户来执行此操作。我设置了另一个没有管理员权限的帐户。有没有一种方法可以将权限扩展到创建权限以外的其他管理员帐户?我需要在每个有权运行python的用户帐户上创建一个虚拟环境吗?
它表示要在bash_profile脚本中添加一行。该脚本已经有了:
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin
export PATH
这很有意义,因为它似乎正在定义底层Python的位置(即2.6.6)。我在venv
中有需要3.4+的模块,所以我创建了虚拟环境。我希望能够从Chrome调用该脚本并为某些脚本运行该脚本,并为其他脚本从cronjob运行该脚本,这些脚本需要始终指向virtualenv才能使用该已安装的解释器。我不知道如何正确执行此操作。这是我的系统信息以及一些SSH打印输出的结果:
$ cd $PATH
-bash: cd: /home/flohosti/.local/bin:/home/flohosti/perl5/bin:/usr/local/cpanel/3rdparty/lib/path-bin:/usr/local/cpanel/3rdparty/lib/path-bin:/usr/local/cpanel/3rdparty/lib/path-bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/opt/cpanel/composer/bin: No such file or directory
在进入VirtualEnv之前,我运行which python
并获得了我期望的/ usr / bin / python。
答案 0 :(得分:1)
有多种方法可以做到这一点。
您可以简单地授予对安装虚拟环境的目录的读取访问权限,然后将其路径导出到/etc/profile
中,以便将其路径自动添加到每个用户路径。
或者您也可以访问虚拟env文件夹中的python二进制文件。
话虽这么说,这不是正确的解决方法,多数情况下,您希望在projet文件夹中包含虚拟环境,以便该项目可以自动使用,并且有权访问该项目的人
编辑1
所以您的评论的答案
是的,绝对可以在cron
中使用相同的虚拟环境来执行脚本,但是您必须给虚拟环境和cron中的脚本提供绝对路径,例如/home/flohosti/projectOne/env/bin/python <script path>
,也可以只设置{ {1}},然后您也可以使用相对路径。