【问题标题】:How to let django access virtualenv script?如何让 django 访问 virtualenv 脚本?
【发布时间】:2015-10-01 23:13:04
【问题描述】:
  1. 我在正常环境中设置 django 并运行 python 2.7
  2. 我在不同的 virtualenv 和 python 3.4 中安装了一个模块

当我尝试使用脚本(使用 virtualenv 中的模块)时,我得到:

没有名为MyModule的模块

我不确定这是否有意义,但是否可以让 django 使用 source bin/activate 或其他东西来使用脚本?

编辑:试图让它像这样工作,但仍然报错:

from django.shortcuts import render
import sys
sys.path.append("/root/scrape/env/lib/python3.4")
from scraper import basic_usage   

def view_fun(request):
    basic_usage()
    return Response

我认为问题是因为它需要激活 virtualenv,对吗?在错误详细信息下,它显示正确的路径:

Python Path:    
['/home/django/django_project',
 '/home/django',
 '/usr/bin',
 '/usr/lib/python2.7',
 '/usr/lib/python2.7/plat-x86_64-linux-gnu',
 '/usr/lib/python2.7/lib-tk',
 '/usr/lib/python2.7/lib-old',
 '/usr/lib/python2.7/lib-dynload',
 '/usr/local/lib/python2.7/dist-packages',
 '/usr/lib/python2.7/dist-packages',
 **'/root/scrape/env/lib/python3.4',
 '/root/scrape/env/lib/python3.4',
 '/root/scrape/env/lib/python3.4',
 '/root/scrape/env/lib/python3.4',**

【问题讨论】:

  • 呃,没有。在同一个 virtualenv 中安装脚本。
  • 它需要设置模块和同一virtualenv中的所有模块。你为什么不创建一个 django 命令?

标签: python django


【解决方案1】:

您不能使用来自不同 python 环境的模块。这就是拥有 python 环境的全部意义——它们是孤立的。 即使你设法做到了,你在谈论两个不同的 python 版本(2.7 / 3.4)这一事实很可能会使最简单的模块也无法工作。

为什么不把 Django 和模块安装在同一个 virtualenv 中呢?您甚至不需要特殊的操作系统权限即可。

【讨论】:

    猜你喜欢
    • 2017-04-22
    • 2013-10-28
    • 2022-10-17
    • 1970-01-01
    • 2017-05-07
    • 2017-05-08
    • 1970-01-01
    • 1970-01-01
    • 2018-10-18
    相关资源
    最近更新 更多