在我对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',
答案 0 :(得分:2)
将目录添加到PYTHONPATH而不是文件:
'C:\\programming\\django_testing\\tango_with_django_project'
然后,Python将在该目录中查找'manage.py'
。
答案 1 :(得分:0)
我如何能够从CMD中的任何位置调用[..] manage.py?
你不能。需要从它所在的目录中调用manage.py
。否则,这是没有意义的,因为每个django项目都存在manage.py
文件,这很容易出错。
在一般情况下也是如此:您无法从目录外调用.py文件。只能通过这种方式调用模块。
信息主要来自Klaus D.的评论。