【问题标题】:Manage.py is added to PYTHONPATH, but can't be foundManage.py 添加到 PYTHONPATH,但找不到
【发布时间】:2017-06-27 08:15:30
【问题描述】:

在我对 PYTHONPATH 的显然错误的理解中,调用 sys.path 会返回 PYTHONPATH 的内容。使用 Windows GUI,我添加了一个来自 Django- 的脚本 -manage.py。

>>> import sys
>>> sys.path
['', 'C:\\programming\\django_testing\\tango_with_django_project\\manage.py', 'C:\\Users\\mjpvanzuijlen\\AppData\\Local\\Programs\\Python\\Python36', ]

我虽然这将允许我在 CMD 中使用任何目录调用它:

 C:\>python manage.py

然而,这会返回一个错误:

python: can't open file 'manage.py': [Errno 2] No such file or directory.

显然我对 PYTHONPATH 的理解是错误的。我如何能够从 CMD 中的任何位置调用文件,在这种情况下为 manage.py

编辑: 我将路径从.../manage.py 更改为目录。它仍然返回相同的错误。

 >>> import sys
 >>> sys.path
 ['', 'C:\\programming\\django_testing\\tango_with_django_project', 

【问题讨论】:

  • 为了使这个工作manage.py必须在你运行它的文件夹中。
  • @KlausD。这是。从manage.py properties 直接复制显示它位于C:\\programming\\django_testing\\tango_with_django_project
  • 运行它时你在文件夹C:\programming\django_testing\tango_with_django_project 中吗?你的提示说你不是。
  • @KlausD。我知道我理解你的第一条评论是错误的。不,我正在尝试从C: 运行它。如果我 CD 到包含 manage.py 的文件夹,它就可以工作。但是,我希望能够从任何文件夹调用manage.py。我虽然这是 PYTHONPATH 启用的?
  • 你不能像那样打开 Python 文件。 PYTHONPATH 仅适用于导入,而不是在打开 Python 文件时。有 -m <module> 参数可能能够做你想做的事:python -m manage。这要求manage.py 是可导入的。

标签: python pythonpath


【解决方案1】:

我如何能够从 CMD 中的任何位置调用 [..] manage.py?

你不能。 manage.py 需要从它所在的目录中调用。否则没有意义,因为每个 django 项目都存在一个manage.py 文件,这很容易出错。

在一般情况下也是如此:您不能从目录外部调用 .py 文件。只有模块可以这样调用。

信息主要来自 cmets 中的 Klaus D.。

【讨论】:

    【解决方案2】:

    将目录而不是文件添加到 PYTHONPATH:

    'C:\\programming\\django_testing\\tango_with_django_project'
    

    然后,Python 将在该目录中查找 'manage.py'

    【讨论】:

    • 有道理,但还是说找不到。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-21
    • 2020-12-04
    • 1970-01-01
    • 2022-11-25
    • 2020-06-06
    相关资源
    最近更新 更多