我对Python和Django非常陌生,我试图找到正确的方法来建立一个基本的Django项目来开始学习它。
下面是我的Python和Django版本的详细信息-

查找版本的命令-
python --version
pip --version
python -m django --version我使用以下命令在其中创建一个项目和一个模块- django-admin cd djangoCrud/ python manage.py startapp
I能够使用以下命令-运行该项目
python manage.py runserver然后,我读到我需要一个进一步开发的虚拟环境,为此我使用了以下命令来创建和运行它-
pip install virtualenv
virtualenv env
. env/bin/activate但是当我试图在激活环境后运行manage.py文件时,
它会抛出一个错误-
ImportError: Couldn't import Django. Are you sure it's installed and available on your PYTHONPATH environment variable? Did you forget to activate a virtual environment?

但是我可以在不激活环境的情况下运行manage.py
,有人能指点我出什么事了吗?我怎么解决这个问题?
尝试步骤-
pip install virtualenv
virtualenv env
. env/bin/activate
pip install Django
django-admin startproject projectNameHere
python manage.py startapp moduleNameHere
python manage.py runserver

能够解决,需要的人的正确顺序-
Aniruddhas-MacBook-Pro:python_django aniruddhanarendraraje$ ls
Aniruddhas-MacBook-Pro:python_django aniruddhanarendraraje$
Aniruddhas-MacBook-Pro:python_django aniruddhanarendraraje$ python --version
Python 3.7.4
Aniruddhas-MacBook-Pro:python_django aniruddhanarendraraje$
Aniruddhas-MacBook-Pro:python_django aniruddhanarendraraje$ pip --version
pip 19.2.3 from /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pip (python 3.7)
Aniruddhas-MacBook-Pro:python_django aniruddhanarendraraje$
Aniruddhas-MacBook-Pro:python_django aniruddhanarendraraje$ python -m django --version
2.2.4
Aniruddhas-MacBook-Pro:python_django aniruddhanarendraraje$
Aniruddhas-MacBook-Pro:python_django aniruddhanarendraraje$ pip install virtualenv
Requirement already satisfied: virtualenv in /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages (16.7.2)
Aniruddhas-MacBook-Pro:python_django aniruddhanarendraraje$
Aniruddhas-MacBook-Pro:python_django aniruddhanarendraraje$ ls
Aniruddhas-MacBook-Pro:python_django aniruddhanarendraraje$
Aniruddhas-MacBook-Pro:python_django aniruddhanarendraraje$ virtualenv env
Using base prefix '/Library/Frameworks/Python.framework/Versions/3.7'
New python executable in /Users/aniruddhanarendraraje/Documents/work/pocs/pythonBasics/python_django/env/bin/python3
Also creating executable in /Users/aniruddhanarendraraje/Documents/work/pocs/pythonBasics/python_django/env/bin/python
Installing setuptools, pip, wheel...
done.
Aniruddhas-MacBook-Pro:python_django aniruddhanarendraraje$
Aniruddhas-MacBook-Pro:python_django aniruddhanarendraraje$ ls
env
Aniruddhas-MacBook-Pro:python_django aniruddhanarendraraje$
Aniruddhas-MacBook-Pro:python_django aniruddhanarendraraje$ source env/bin/activate
(env) Aniruddhas-MacBook-Pro:python_django aniruddhanarendraraje$
(env) Aniruddhas-MacBook-Pro:python_django aniruddhanarendraraje$ ls
env
(env) Aniruddhas-MacBook-Pro:python_django aniruddhanarendraraje$
(env) Aniruddhas-MacBook-Pro:python_django aniruddhanarendraraje$ python --version
Python 3.7.4
(env) Aniruddhas-MacBook-Pro:python_django aniruddhanarendraraje$
(env) Aniruddhas-MacBook-Pro:python_django aniruddhanarendraraje$ pip --version
pip 19.2.3 from /Users/aniruddhanarendraraje/Documents/work/pocs/pythonBasics/python_django/env/lib/python3.7/site-packages/pip (python 3.7)
(env) Aniruddhas-MacBook-Pro:python_django aniruddhanarendraraje$
(env) Aniruddhas-MacBook-Pro:python_django aniruddhanarendraraje$ python -m django --version
/Users/aniruddhanarendraraje/Documents/work/pocs/pythonBasics/python_django/env/bin/python3: No module named django
(env) Aniruddhas-MacBook-Pro:python_django aniruddhanarendraraje$
(env) Aniruddhas-MacBook-Pro:python_django aniruddhanarendraraje$ pip install Django
Collecting Django
Using cached https://files.pythonhosted.org/packages/d6/57/66997ca6ef17d2d0f0ebcd860bc6778095ffee04077ca8985928175da358/Django-2.2.4-py3-none-any.whl
Collecting sqlparse (from Django)
Using cached https://files.pythonhosted.org/packages/ef/53/900f7d2a54557c6a37886585a91336520e5539e3ae2423ff1102daf4f3a7/sqlparse-0.3.0-py2.py3-none-any.whl
Collecting pytz (from Django)
Using cached https://files.pythonhosted.org/packages/87/76/46d697698a143e05f77bec5a526bf4e56a0be61d63425b68f4ba553b51f2/pytz-2019.2-py2.py3-none-any.whl
Installing collected packages: sqlparse, pytz, Django
Successfully installed Django-2.2.4 pytz-2019.2 sqlparse-0.3.0
(env) Aniruddhas-MacBook-Pro:python_django aniruddhanarendraraje$
(env) Aniruddhas-MacBook-Pro:python_django aniruddhanarendraraje$ python -m django --version
2.2.4
(env) Aniruddhas-MacBook-Pro:python_django aniruddhanarendraraje$
(env) Aniruddhas-MacBook-Pro:python_django aniruddhanarendraraje$ django-admin startproject projectNameHere
(env) Aniruddhas-MacBook-Pro:python_django aniruddhanarendraraje$
(env) Aniruddhas-MacBook-Pro:python_django aniruddhanarendraraje$ ld
ld: warning: No version-min specified on command line
ld: no object files specified
(env) Aniruddhas-MacBook-Pro:python_django aniruddhanarendraraje$ l
bash: l: command not found
(env) Aniruddhas-MacBook-Pro:python_django aniruddhanarendraraje$ ls
env projectNameHere
(env) Aniruddhas-MacBook-Pro:python_django aniruddhanarendraraje$ cd projectNameHere/
(env) Aniruddhas-MacBook-Pro:projectNameHere aniruddhanarendraraje$
(env) Aniruddhas-MacBook-Pro:projectNameHere aniruddhanarendraraje$ ls
manage.py projectNameHere
(env) Aniruddhas-MacBook-Pro:projectNameHere aniruddhanarendraraje$ python manage.py startapp moduleNameHere
(env) Aniruddhas-MacBook-Pro:projectNameHere aniruddhanarendraraje$
(env) Aniruddhas-MacBook-Pro:projectNameHere aniruddhanarendraraje$ ls
manage.py moduleNameHere projectNameHere
(env) Aniruddhas-MacBook-Pro:projectNameHere aniruddhanarendraraje$
(env) Aniruddhas-MacBook-Pro:projectNameHere aniruddhanarendraraje$
(env) Aniruddhas-MacBook-Pro:projectNameHere aniruddhanarendraraje$ python manage.py runserver
Watching for file changes with StatReloader
Performing system checks...
System check identified no issues (0 silenced).
You have 17 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
Run 'python manage.py migrate' to apply them.
August 31, 2019 - 06:48:23
Django version 2.2.4, using settings 'projectNameHere.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
[31/Aug/2019 06:48:42] "GET / HTTP/1.1" 200 16348
^C(env) Aniruddhas-MacBook-Pro:projectNameHere aniruddhanarendraraje$ ls
db.sqlite3 manage.py moduleNameHere projectNameHere
(env) Aniruddhas-MacBook-Pro:projectNameHere aniruddhanarendraraje$ manage.py makemigrations
bash: manage.py: command not found
(env) Aniruddhas-MacBook-Pro:projectNameHere aniruddhanarendraraje$ python manage.py makemigrations
No changes detected
(env) Aniruddhas-MacBook-Pro:projectNameHere aniruddhanarendraraje$ python manage.py migrate
Operations to perform:
Apply all migrations: admin, auth, contenttypes, sessions
Running migrations:
Applying contenttypes.0001_initial... OK
Applying auth.0001_initial... OK
Applying admin.0001_initial... OK
Applying admin.0002_logentry_remove_auto_add... OK
Applying admin.0003_logentry_add_action_flag_choices... OK
Applying contenttypes.0002_remove_content_type_name... OK
Applying auth.0002_alter_permission_name_max_length... OK
Applying auth.0003_alter_user_email_max_length... OK
Applying auth.0004_alter_user_username_opts... OK
Applying auth.0005_alter_user_last_login_null... OK
Applying auth.0006_require_contenttypes_0002... OK
Applying auth.0007_alter_validators_add_error_messages... OK
Applying auth.0008_alter_user_username_max_length... OK
Applying auth.0009_alter_user_last_name_max_length... OK
Applying auth.0010_alter_group_name_max_length... OK
Applying auth.0011_update_proxy_permissions... OK
Applying sessions.0001_initial... OK
(env) Aniruddhas-MacBook-Pro:projectNameHere aniruddhanarendraraje$ python manage.py runserver
Watching for file changes with StatReloader
Performing system checks...
System check identified no issues (0 silenced).
August 31, 2019 - 06:49:59
Django version 2.2.4, using settings 'projectNameHere.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
[31/Aug/2019 06:50:06] "GET / HTTP/1.1" 200 16348发布于 2019-08-31 06:32:35
首先,要确保python和pip都是固定的。我确实建议安装python3。
然后通过pip安装python。
然后是pip3 install virtualenv
用virtualenv -p python3 <env_name>创建venv
用source <env_name>/bin/activate激活env
然后,使用django-admin startproject <project-name>创建django项目
然后你可以进行迁移。
python3 manage.py makemigrations
python3 manage.py migrate
一旦完成,您可以继续将超级用户创建为python manage.py createsuperuser <username>
您可以通过它的文档https://www.djangoproject.com/start/获得一种描述更多的方法
PS:- python3和python2没有区别,如果python3是缺陷版本,因为python命令将被符号链接到/usr/bin/python 3
发布于 2019-08-31 06:19:13
创建虚拟服务器时,必须再次设置python。
首先在virtualenv中安装django:
source env/bin/activate
pip install django此外,如果您有其他软件包,您必须安装它。
virtualenv是一个独立的环境,必须自行设置。
发布于 2019-08-31 06:18:18
您需要在虚拟环境中安装Django。
https://stackoverflow.com/questions/57735639
复制相似问题