首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >可以在incron中使用venvs (虚拟环境)吗?

可以在incron中使用venvs (虚拟环境)吗?
EN

Stack Overflow用户
提问于 2013-05-20 19:50:31
回答 3查看 431关注 0票数 2

我看不到任何展示如何在incron http://inotify.aiken.cz/中使用虚拟环境的示例

有人知道这是否可能吗?

更新:我运行incrontab -e,然后添加以下行:

代码语言:javascript
复制
/home/vmail/jobstat.us/submit/new/ IN_CREATE /home/vmail/jobstatuspy3/bin/python3 /home/vmail/mailtounicodetoarchive.py --context=prd

但是,当我尝试从命令行运行相同的命令时,例如

代码语言:javascript
复制
/home/vmail/jobstatuspy3/bin/python3 /home/vmail/mailtounicodetoarchive.py --context=prd

上面写着

代码语言:javascript
复制
vmail@mail:~$ /home/vmail/jobstatuspy3/bin/python3 /home/vmail/mailtounicodetoarchive.py --context=prd
Traceback (most recent call last):
  File "/home/vmail/mailtounicodetoarchive.py", line 14, in <module>
    me = singleton.SingleInstance()
NameError: name 'singleton' is not defined

显然,上面的错误是因为它实际上没有在venv中执行命令,所以我在venv中安装的tendo模块无法工作。

对如何让venv与incron协同工作有什么想法吗?

EN

回答 3

Stack Overflow用户

发布于 2013-05-20 20:12:34

使用您通常用来激活虚拟环境和运行程序的所有命令编写一个shell脚本。

然后设置incron来运行shell脚本。

票数 1
EN

Stack Overflow用户

发布于 2013-05-20 20:15:27

您可以将通常在shell中输入的activate直接放入python代码中。如果您的项目名为A,则如下所示:

代码语言:javascript
复制
activate_this = 'A/bin/activate_this.py'
execfile(activate_this, dict(__file__=activate_this))
票数 1
EN

Stack Overflow用户

发布于 2013-05-21 09:28:55

在进一步调查之后,我决定不使用inotify。一种更简单的方法是只轮询目标目录中的文件,并在supervisor下运行我的脚本。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16648894

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档