2016-07-27 42 views
0

我正在開發一個Django項目,它導入django-imagekit;在我的Windows機器上一切正常。在我的Linux Ubuntu的筆記本電腦雖然Pycharm識別編輯器中的包,它的上市在項目的解釋器的包裝,但它不是通過命令行確認:Pycharm中識別的Python包,而不是終端

[email protected]:~/PycharmProjects/tcspt$ python manage.py check 
Traceback (most recent call last): 
    File "manage.py", line 10, in <module> 
    execute_from_command_line(sys.argv) 
    File "/home/simon/.local/lib/python2.7/site-packages/django/core/management/__init__.py", line 353, in execute_from_command_line 
    utility.execute() 
    File "/home/simon/.local/lib/python2.7/site-packages/django/core/management/__init__.py", line 327, in execute 
    django.setup() 
    File "/home/simon/.local/lib/python2.7/site-packages/django/__init__.py", line 18, in setup 
    apps.populate(settings.INSTALLED_APPS) 
    File "/home/simon/.local/lib/python2.7/site-packages/django/apps/registry.py", line 108, in populate 
    app_config.import_models(all_models) 
    File "/home/simon/.local/lib/python2.7/site-packages/django/apps/config.py", line 202, in import_models 
    self.models_module = import_module(models_module_name) 
    File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module 
    __import__(name) 
    File "/home/simon/PycharmProjects/tcspt/assetmanage/models.py", line 3, in <module> 
    from imagekit.models import ProcessedImageField 
ImportError: No module named imagekit.models 

它似乎在尋找在Python 2的軟件包,但我這個項目使用python 3。我嘗試了一些東西,例如添加到項目變量的路徑,但到目前爲止我無法讓它工作。

嘗試匯入蟒蛇2的外殼imagekit:

Python 2.7.11+ (default, Apr 17 2016, 14:00:29) 
[GCC 5.3.1 20160413] on linux2 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import imagekit 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
ImportError: No module named imagekit 

嘗試匯入蟒蛇3的外殼imagekit:

>>> import imagekit 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "/usr/local/lib/python3.5/dist-packages/imagekit/__init__.py", line 2, in <module> 
    from . import conf 
    File "/usr/local/lib/python3.5/dist-packages/imagekit/conf.py", line 5, in <module> 
    class ImageKitConf(AppConf): 
    File "/usr/local/lib/python3.5/dist-packages/appconf/base.py", line 74, in __new__ 
    new_class._configure() 
    File "/usr/local/lib/python3.5/dist-packages/appconf/base.py", line 100, in _configure 
    value = getattr(obj._meta.holder, prefixed_name, default_value) 
    File "/home/simon/.local/lib/python3.5/site-packages/django/conf/__init__.py", line 55, in __getattr__ 
    self._setup(name) 
    File "/home/simon/.local/lib/python3.5/site-packages/django/conf/__init__.py", line 41, in _setup 
    % (desc, ENVIRONMENT_VARIABLE)) 
django.core.exceptions.ImproperlyConfigured: Requested setting IMAGEKIT_DEFAULT_CACHEFILE_BACKEND, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings. 
+0

檢查您是否使用了適當的python SDK。您必須確保pycharm和終端在運行腳本時運行相同的python環境 –

回答

1

如果您正在使用Python 3,那你應該使用python3 manage.py check。使用虛擬環境可能會更好,在這種情況下,您可以在運行python manage.py check之前激活虛擬環境。

因爲您尚未設置DJANGO_SETTINGS_MODULE環境變量(有關更多信息,請參見the docs),因此導入在Python 3 shell中失敗。最簡單的解決方法是使用Django shell,它爲您提供幫助。

$ python3 manage.py shell 
>>> import imagekit 
+0

使用python3工作,非常感謝!我將檢查DJANGO_SETTINGS_MODULE。 –