【问题标题】:How to reduce "python ...PATH...django-admin.py startproject myprojname" to "django-admin.py startproject myprojname"?如何将“python ...PATH ...django-admin.py startproject myprojname”减少为“django-admin.py startproject myprojname”?
【发布时间】:2023-03-26 21:00:01
【问题描述】:

更新:见底部


Django 教程的first step 指导你创建一个这样的新项目

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\

我都确认了

C:\applications\programming\python_341\
C:\applications\programming\python_341\Scripts

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\;

作为suggested,我完全注释掉了

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,至少是通过资源管理器进行,是一个错误。

有什么想法吗?

【问题讨论】:

  • 您的PATH 中似乎还有一条旧蟒蛇。你能提供整个PATH吗?
  • @Humdinger 是的。事实证明,我在路径中有两个不同版本的 python。现在处理它。完成后会更新。
  • @Humdinger:更新了问题帖。解决了一个问题,希望不会太多。
  • 仍然可能是路径问题。 “如果django-admin无论给出什么参数都只显示帮助文本,那么可能是Windows中的文件关联有问题。检查PATH中是否设置了多个环境变量用于运行Python脚本。这种情况通常会发生当安装了多个 Python 版本时。”来自docs.djangoproject.com/en/dev/howto/windows

标签: python django python-3.x


【解决方案1】:

其他建议有效。检查您的路径,检查用户和系统 PATH 变量。一旦你确定只剩下右边,再试一次。

现在,一种稍微不同的方法。有时,需要有多个版本的软件(包括 python)。这就是为什么强烈建议使用 virtualenv(和 virtualenvwrapper)来隔离 python 环境的原因。 使用 virtualenv,您可以安装代码所需的 python 版本,而不会与系统上的其他 python 版本发生冲突。 Python3 带有 virtualenv,但您可以在 virtualenv here 和 virutalenvwrapper here 上阅读更多内容。

【讨论】:

    猜你喜欢
    • 2011-04-10
    • 2020-05-24
    • 1970-01-01
    • 1970-01-01
    • 2020-04-17
    • 1970-01-01
    • 2010-11-28
    • 2015-04-09
    • 2012-05-30
    相关资源
    最近更新 更多