2015-12-15 62 views
0

簡單的問題,但我找不到答案。通過命令行導入Django應用程序運行外部文件

我有一個python腳本位於我的Django應用程序之一 - 在我的django項目。

我使用PyCharm IDE和地方發展工作得很好,我跑使用CTRL + ALT + R腳本,如下:

from location.crawlers.crawler_cities import * 

的問題是,當我必須這樣做,在我的直播服務器,我不知道如何將其導入,我這樣做:

  1. 激活的virtualenv
  2. 轉到項目文件夾
  3. 運行Python(這裏我認爲這個問題是運行我的v外的蟒蛇irtualenv沒有安裝在我的virtualenv本身)
  4. 從location.crawlers.crawler_cities蟒蛇導入*

我的話,我終於得到這個錯誤

導入錯誤:沒有模塊名爲location.crawlers.crawler_cities

任何想法如何在Live Server中運行此操作?

+0

將它放在同一個文件夾或使一個應用程序或進行中間件 – taesu

+1

如果您的應用程序目錄是在sys路徑,您可以創建一個目錄名爲像'scripts'並創建一個空文件'__init__.py '在那裏,然後做'從appname.scripts導入crawler_cities'。 '__init __。py'是爲了讓你的'scripts'目錄成爲一個包,所以你可以從中導入。順便說一下,'import *'不是很好的做法,因爲您可能會遇到導入問題。 –

回答

1

在調用導入之前,嘗試將django項目的路由追加到您的PYTHONPATH中。

import sys 
sys.path.insert(0, '/path/to/project') 
相關問題