如何将“python ...PATH...django-admin.py startproject myprojname”缩减为“django-admin.py startproject myprojname”?

0 投票
1 回答
681 浏览
提问于 2025-04-18 15:32
C:\applications\programming\python_341\
C:\applications\programming\python_341\Scripts

更新:请查看底部


Django教程的第一步告诉你如何创建一个新项目,像这样:

django-admin.py startproject mysite2

但是我这样做的时候,失败了:

R:\jeffy\programming\sandbox\python\django_files\tutorial>django-admin.py startproject mysite
Traceback (most recent call last):
  File "C:\applications\programming\python_341\Scripts\django-admin.py", line 2, in ?
    from django.core import management
  File "c:\applications\programming\python_341\Lib\site-packages\django\core\management\__init__.py", line 55
    except ImportError as e:
                        ^
SyntaxError: invalid syntax

我还尝试了:

python django-admin.py startproject mysite2

这也失败了:

R:\jeffy\programming\sandbox\python\django_files\tutorial>python django-admin.py startproject mysite2
python: can't open file 'django-admin.py': [Errno 2] No such file or directory

但当我这样做时,它成功了:

python C:\applications\programming\python_341\Lib\site-packages\django\bin\django-admin.py startproject mysite2

虽然没有任何响应,但目录被创建了:

R:\jeffy\programming\sandbox\python\django_files\tutorial>dir mysite2
 Volume in drive R is internal_files
 Volume Serial Number is 9ADC-75EC

 Directory of R:\jeffy\programming\sandbox\python\django_files\tutorial\mysite2

07/31  02:33 PM    <DIR>          .
07/31  02:33 PM    <DIR>          ..
07/31  02:33 PM               250 manage.py
07/31  02:33 PM    <DIR>          mysite2
               1 File(s)            250 bytes
               3 Dir(s)  208,804,356,096 bytes free

PYTHONPATH的值是:

c:\applications\programming\python_341\Lib\site-packages\

我确认这两个路径都在PATH中。

有没有办法把

python C:\applications\programming\python_341\Lib\site-packages\django\bin\django-admin.py startproject mysite2

简化成

django-admin.py startproject mysite2

就像Django教程中那样?

谢谢。


更新

完整路径,逐行分开。

C:\applications\programming\python_341\;
C:\applications\programming\python_341\Scripts;
C:\applications\utilities\shell_utilities;
C:\applications\programming\;
.;
C:\Program Files\Common Files\ArcSoft\Bin;
C:\Program Files\Common Files\Microsoft Shared\Windows Live;
C:\Program Files\Windows Live\Shared;
C:\Windows;
C:\Windows\System32\Wbem;
C:\Windows\System32\WindowsPowerShell\v1.0\;
C:\Windows\system32;
C:\applications\audio\LilyPond\usr\bin;
C:\applications\internet\LinkChecker;
C:\applications\programming\DependencyFinder-1.2.1-beta4\bin;
C:\applications\programming\apache-ant-1.8.1\bin;
C:\applications\programming\apache-maven-3.1.1\bin;
C:\applications\programming\gradle-1.9\bin;
C:\applications\programming\jdk_7_51\bin;
C:\applications\programming\unix_utils\usr\local\wbin\;
C:\applications\video\quicktime\QTSystem\;

正如建议的,我完全注释掉了:

C:\applications\programming\python_341\Scripts\django-admin.py

并在顶部添加了:

import sys; print(sys.version, sys.executable)

这是运行后的结果:

django-admin.py startproject mysite2

django-admin.py startproject mysite3 ('2.4.5 (#1, Dec 15 2009, 16:41:19) \n[GCC 4.1.1]', 'C:\\applications\\audio\\LilyPond\\usr\\bin\\python.exe')

你猜怎么着,

C:\applications\audio\LilyPond\usr\bin

它在路径中。

经过这些步骤后:

  1. 卸载LilyPond,并从路径中删除它
  2. 重新安装Python 3.4.1(虽然我不确定这是否必要)
  3. 将“.py”文件默认关联到C:\applications\programming\python_341\python.exe(我通过在资源管理器中右键点击C:\applications\programming\python_341\Scripts\django-admin.py,选择“打开方式...”,然后浏览到python.exe并选择它来完成的。)

这样就可以了:

python C:\applications\programming\python_341\Scripts\django-admin.py startproject mysite5

但是这两个:

django-admin.py startproject mysite5
C:\applications\programming\python_341\Scripts\django-admin.py startproject mysite5

都失败了,出现:

Usage: django-admin.py subcommand [options] [args]

Options:
  -v VERBOSITY, --verbosity=VERBOSITY
                        Verbosity level; 0=minimal output, 1=normal output,
                        2=verbose output, 3=very verbose output
  --settings=SETTINGS   The Python path to a settings module, e.g.
                        "myproject.settings.main". If this isn't provided, the
                        DJANGO_SETTINGS_MODULE environment variable will be
                        used.
  --pythonpath=PYTHONPATH
                        A directory to add to the Python path, e.g.
                        "/home/djangoprojects/myproject".
  --traceback           Raise on exception
  --version             show program's version number and exit
  -h, --help            show this help message and exit

Type 'django-admin.py help <subcommand>' for help on a specific subcommand.

Available subcommands:

[django]
    check
    cleanup
    compilemessages
    createcachetable
    dbshell
    diffsettings
    dumpdata
    flush
    inspectdb
    loaddata
    makemessages
    runfcgi
    runserver
    shell
    sql
    sqlall
    sqlclear
    sqlcustom
    sqldropindexes
    sqlflush
    sqlindexes
    sqlinitialdata
    sqlsequencereset
    startapp
    startproject
    syncdb
    test
    testserver
    validate

我猜想将*.py文件关联到python.exe,至少通过资源管理器这样做,是个错误。

有什么想法吗?

1 个回答

0

其他的建议都是有道理的。检查一下你的路径,看看用户和系统的 PATH 变量。确保只保留正确的路径后,再试一次。

接下来,换个角度说。有时候,我们需要在电脑上安装多个版本的软件(包括 Python)。所以,强烈建议使用 virtualenv(还有 virtualenvwrapper)来隔离 Python 的环境。通过 virtualenv,你可以安装你代码所需的 Python 版本,而不会和系统上其他的 Python 版本发生冲突。Python3 自带 virtualenv,但你可以在 这里 了解更多关于 virtualenv 的信息,关于 virtualenvwrapper 的信息可以在 这里 找到。

撰写回答