[英]manage.py - ImportError: No module named django
我只是通過將所有文件復制到/var/www/some/dir/djangoApp
將一個工作 django 應用程序從 Windows 系統移植到 ubuntu 。 但是現在,當執行
python manage.py runserver 8080
我收到錯誤:
ImportError: no module named django
我已經使用python setup.py install
安裝了新版本的 django 到/usr/local/lib/python2.7/dist-packages/django/
並將路徑添加到 PYTHONPATH。
linux 系統不是我維護的,並且安裝了許多 python 版本。
在 shell 中調用>>> 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
由於您剛剛遷移到 UNIX 環境,我建議您也遷移到此類平台上的最佳實踐。
下載畫中畫
sudo apt-get install python-pip
下載並安裝 virtualenv 為您的應用程序設置一個單獨的 python 虛擬環境。 這將允許您運行不同風格的 django 和其他軟件而不會發生沖突。
sudo pip install virtualenv
通過運行創建虛擬環境。 您將獲得一個名為 myvirtualenvironment 的文件夾,其中包含一個 bin 文件夾和一些可執行文件。
virtualenv myvirtualenvironment --no-site-packages
為了告訴您的 shell 您正在使用新創建的虛擬環境,您需要運行/myvirtualenvironment/bin/
的 activate 腳本
source myvirtualenvironment/bin/activate
現在您可以專門為該虛擬環境安裝 django。
pip install django
或pip install django==1.6
取決於您要安裝的版本。 如果不指定,將安裝最新版本。
現在,將您的 Django 項目遷移到/myvirtualenvironment/
並運行 runserver 命令。
有時,目錄中有一些 .pyc 文件,並且您不會從控制台收到任何錯誤。 嘗試從 pip 安裝 Django。
sudo pip install django
最佳實踐建議創建一個 requirements.txt 文件(來自您的 Windows 安裝)
pip freeze > requirements.txt
然后創建一個新的 virutalenv 來安裝每個包
mkvirtualenv myapp
pip install -r requirements.txt
我在遇到同樣的錯誤后登陸了這個頁面(在一個我幾個月來一直在積極開發的網站上)。 對我來說,@asaji 的回答提醒我忘記啟動我的虛擬環境。
啟動我的 Virtual Env 后. Scripts/activate
. Scripts/activate
效果很好!
對於(可能)非常小的問題來說,這似乎是一項相當大的工作。
我遇到了這個確切的問題,它在一天工作,然后第二天就不再工作了。 總的來說,我對 Linux 和 Django 還是很陌生,但對 python 非常了解,所以除了“虛擬環境”之外,我真的不知道該去哪里找
我再次開始安裝虛擬環境(就像有些人建議的那樣)但是不要!
至少在您嘗試過並考慮一下之前不會:
您是否將虛擬環境安裝為臨時環境(您是否可能像這樣安裝它:“ pip install pipenv ”?)
如果你做了(就像你應該做的那樣),你將在當前的 django 項目 2 文件周圍有一個地方 - pipfile & pipfile.lock
打開你的終端,cd到這些文件的路徑(同一個文件夾)
在終端中寫入:pipenv shell
BOOM:您剛剛重新激活了“TEMPORARY”虛擬環境,Django 完全按照預期、意願和做了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.