2014-06-05 84 views
4

我只是通過將所有文件複製到/var/www/some/dir/djangoApp,將一個工作的django應用程序從Windows系統移植到ubuntu。但現在,執行manage.py - ImportError:沒有名爲django的模塊

python manage.py runserver 8080 

當我得到的錯誤:

ImportError: no module named django 

我已經安裝的Django的新版本python setup.py install/usr/local/lib/python2.7/dist-packages/django/並添加路徑PYTHONPATH。

linux系統在我沒有維護,並有許多python版本安裝。在外殼中調用>>> import django不會引發ImportError。

我很困惑。請幫幫我!

下面是從控制檯回溯:

Traceback (most recent call last): 
    File "manage.py", line 13, in <module> 
    execute_from_command_line(sys.argv) 
    File "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py", line 399, in execute_from_command_line 
    utility.execute() 
    File "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py", line 392, in execute 
    self.fetch_command(subcommand).run_from_argv(self.argv) 
    File "/usr/local/lib/python2.7/dist-packages/django/core/management/base.py", line 242, in run_from_argv 
    self.execute(*args, **options.__dict__) 
    File "/usr/local/lib/python2.7/dist-packages/django/core/management/base.py", line 280, in execute 
    translation.activate('en-us') 
    File "/usr/local/lib/python2.7/dist-packages/django/utils/translation/__init__.py", line 130, in activate 
    return _trans.activate(language) 
    File "/usr/local/lib/python2.7/dist-packages/django/utils/translation/trans_real.py", line 188, in activate 
    _active.value = translation(language) 
    File "/usr/local/lib/python2.7/dist-packages/django/utils/translation/trans_real.py", line 177, in translation 
    default_translation = _fetch(settings.LANGUAGE_CODE) 
    File "/usr/local/lib/python2.7/dist-packages/django/utils/translation/trans_real.py", line 159, in _fetch 
    app = import_module(appname) 
    File "/usr/local/lib/python2.7/dist-packages/django/utils/importlib.py", line 40, in import_module 
    __import__(name) 
ImportError: No module named django 
+0

您需要安裝所有的軟件包,安裝一個虛擬ENV,然後在原機: 'PIP凍結> requirements.txt' 從原始機器requirements.txt到您的沙箱然後: 在你的virtualenv: 'pip install -r requirements.txt' – petkostas

回答

8

既然你只是遷移到UNIX環境,我建議你也遷移到這樣的平臺上的最佳實踐。

  1. 下載PIP

    sudo apt-get install python-pip

  2. 下載並安裝的virtualenv來爲您的應用程序單獨的Python的虛擬環境。這將允許您運行不同版本的django和其他軟件而不會發生衝突。

    sudo pip install virtualenv

  3. 運行創建虛擬環境。你將得到一個名爲myvirtualenvironment的文件夾,裏面有一個bin文件夾和一些可執行文件。

    virtualenv myvirtualenvironment --no-site-packages

  4. 爲了告訴你的shell,你與新創建的虛擬環境中工作,你需要運行中發現的激活腳本/myvirtualenvironment/bin/

    source myvirtualenvironment/bin/activate

  5. 現在你可以將django專門安裝到該虛擬環境中。

    pip install djangopip install django==1.6取決於您想要安裝的版本。如果您未指定,則會安裝最新版本。

  6. 現在,將您的Django項目遷移到/myvirtualenvironment/中,然後運行runserver命令。

+0

嗨。非常感謝你。我將你的答案與user669003中的答案結合起來,現在它可以工作。 – Tobias

+1

沒問題!不要忘記接受答案 - 如果你不認爲人們不會回答你未來的問題 – asaji

2

有時,在目錄中的某些pyc文件,你不從控制檯收到任何錯誤。試圖從pip安裝Django。

sudo pip install django 

的最佳做法建議創建一個requirements.txt文件(從你的Windows安裝)

pip freeze > requirements.txt 

,然後創建一個新的virutalenv安裝每個包

mkvirtualenv myapp 
pip install -r requirements.txt 
+0

嗨。非常感謝你。我將你的答案與asaji提供的virtualenv解決方案相結合。現在它的工作原理 – Tobias

相關問題