python - rails : Calling virtualenv for Python from within a Rails app

标签 python ruby-on-rails ruby bash virtualenv

我正在尝试从 Rails 应用程序中运行 Python 脚本。在调用Python脚本之前,我需要启动它的virtualenv,所以我尝试这样做:

result = %x(
           cd /path/to/python/script/;
           source venv/bin/activate;
           python myscript.py
           )

我收到错误消息未找到源,显然表明虚拟环境未成功设置。

当我直接在 bash 中输入这些命令时,它工作得很好。这是怎么回事?

最佳答案

也许您的默认 shell 不是 bash,而是 sh,它没有命令 source。您可以通过以下方式显式地在 bash 中运行它:

%x(/bin/bash -c '
  cd /path/to/python/script/;
  source venv/bin/activate;
  python myscript.py
  ')

关于python - rails : Calling virtualenv for Python from within a Rails app,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25103457/

相关文章:

python - 获取 Python Tornado 版本

sql - 所有列都加入 ruby​​ on Rails

ruby-on-rails - 使用引用对象树查询结果 - Ruby on Rails

ruby-on-rails - 用 Ruby 写一个 mp4 文件

ruby-on-rails - 如何在我的 ruby​​gem 中写入将在 Rails 应用程序中使用的日志?

python - Pandas - 合并具有连续间隔的行

python 错误?惰性对象具有隐藏状态

python - 比较具有不同 x 轴值的直方图

mysql - Rails activerecord 查找具有特定子关联的对象

javascript - Rails 和 JQuery 从数组中选择随机项