使用gunicorn时未加载虚拟环路径

时间:2016-11-27 14:45:34

标签: python virtualenv virtualenvwrapper

我有一个脚本可以加载from google.cloud import pubsub

中安装的点子
(my_virtual_environment): python script.py

当我像这样运行脚本时

gunicorn

它有效。但是当我通过gunicorn -c gunicorn_config.py script.py

运行时
from google.cloud import pubsub
ImportError: No module named cloud

我得到了

sys.path

当我在两种情况下打印sys.path时,我得到一个案例中的[......., /Users/partuck/.virtualenvs/my_virtual_environment/lib/python2.7/plat-darwin',......] 包含virtualenv路径

gunicorn

而在另一种情况下(通过pip freeze运行),我看不到它。 运行gunicorn时,user_controller.ex defmodule Rumbl.UserController do use Rumbl.Web, :controller plug :authenticate_user when action in [:index, :show] def index(conn, _params) do users = Repo.all(User) render conn, "index.html", users: users end def show(conn, %{"id" => id}) do user = Repo.get(Rumbl.User, id) render conn, "show.html", user: user end alias Rumbl.User def new(conn, _params) do changeset = User.changeset(%User{}) render conn, "new.html", changeset: changeset end 存在。

1 个答案:

答案 0 :(得分:1)

所以,事实证明,gunicorn默认为以前加载的地方。

我的解决方案是在目录中cd,然后运行gunicorn命令

cd my_directory
<loads the virtualenv> using auto env # workon my_virtualenv
gunicorn -c gunicorn_config.py script.py