sys.path不';t包括PYTHONPATH(必须键入完整路径才能运行django admin startproject)
我正在运行Windows 8.1、Python 3.4.2和Django 1.7sys.path不';t包括PYTHONPATH(必须键入完整路径才能运行django admin startproject),python,django,django-admin,pythonpath,sys.path,Python,Django,Django Admin,Pythonpath,Sys.path,我正在运行Windows 8.1、Python 3.4.2和Django 1.7 .py文件与python.exe关联 Windows系统路径为: C:\lots\u\u路径;C:\Python34;C:\Python34\Lib\site packages\Django-1.7.1-py3.4.egg\Django\bin (共531个字符) 注册表中的PYTHONPATH变量为: C:\Python34\Lib;C:\Python34\DLLs;C:\Python34\Lib\site pa
.py
文件与python.exe
关联
Windows系统路径为:
C:\lots\u\u路径;C:\Python34;C:\Python34\Lib\site packages\Django-1.7.1-py3.4.egg\Django\bin
(共531个字符)
注册表中的PYTHONPATH变量为:
C:\Python34\Lib;C:\Python34\DLLs;C:\Python34\Lib\site packages\Django-1.7.1-py3.4.egg\Django\bin
(共96个字符)
设置此变量时,我粘贴了Django路径,以避免输入错误。当我从PYTHONPATH复制并粘贴到记事本时,行中没有中断,因此似乎没有隐藏的回车符
我启动cmd.exe
并从目录C:\projects工作
当我输入python-c“import sys;print(sys.path)”
结果是:
['',C:\Python34\lib\site packages\django-1.7.1-py3.4.egg',C:\WINDOWS\S
YSTEM32\python34.zip',C:\python34\dll',C:\python34\lib',C:\python34
“,'C:\Python34\lib\site packages']
\django\bin正在从路径中剪切
当我进入python django-admin.py startproject时,请\u工作
…它打印:python:无法打开文件'django admin.py':[Errno 2]没有这样的文件或目录
看起来系统路径找到了Python,但PYTHONPATH并没有像预期的那样工作
当我键入django admin startproject Save_time时,我得到以下信息:
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
(etc. etc. etc.)
…因此,似乎在系统路径上找到了django admin.py
,并通过与python.exe
的关联运行,但未传递参数。当命令中包含.py后缀时,我得到的结果与下面一个答案中的建议相同:django-admin.py startproject testproject
键入python C:\Python34\Lib\site packages\Django-1.7.1-py3.4.egg\Django\bin\Django-admin.py startproject浪费时间功能正常,但这不是必需的,对吗?Django-admin.py startproject测试项目应该足够了 因为django-admin.py驻留在systempath上 我建议您使用虚拟环境,而不是将包全球化
既然您有一个命令行解决方案可以使用,为什么不在
C:\Python34\Scripts
中创建一个批处理文件,该文件可能名为dj-admin.bat,其中包含带参数的完整命令(如果这是您一直执行的命令),或者允许您使用参数
顺便说一句,据我所知,当你键入:
python somefile.py [parameters]
python -m somemodule [command_from_module] [parameters]
Python希望somefile.py位于本地目录或绝对路径中,但它不会在Python\u路径中搜索它,但如果键入:
python somefile.py [parameters]
python -m somemodule [command_from_module] [parameters]
Python将首先查看当前目录,然后查看Python路径
您的问题的另一个可能来源是您的路径上有多个django管理员-如果它在路径的前面,它将优先。在Unix/Linux系统上,有一个名为的可爱命令,它将告诉您找到了哪些命令
python实现非常简单。这个问题是从.egg压缩文件下载并安装Django而不是使用pip的结果。
我不确定它是如何追溯到源头的,但这就是问题所在。当使用pip安装Django时,这个问题消失了
警告:本文的其余部分是stackoverflow轻蔑地皱着眉头的人类情感表达,我无法抗拒分享
自从我偶然发现这个解决方案已经有好几个月了,我现在才记得更新这个线程
感谢史蒂夫·巴恩斯教我跳出框框思考,并找到一个临时解决方案。感谢Nishan Paradox添加了使用虚拟环境的建议。像这样的建议对新手来说真的很有价值,即使它们与问题无关。常识仍然很流行
旁注:我现在正在虔诚地使用pip和虚拟环境,生活会好得多:)对于任何其他可能读到这篇文章的新手来说:如果你看到许多其他人在使用一个工具,在你决定是否要使用它之前先试用一下。谷歌搜索可能不会给你足够的信息来做出决定,但经验会。您可能会很高兴尝试一些新的东西并将其添加到工具箱中。您的系统路径上显然有一个django admin.bat
可能在C:\Python34\Scripts
中,我怀疑它没有传递参数-这可能是内容或windows 8的问题,因此您可以附加该文件的内容吗文件到您的问题。@Steve Barnes-系统中没有django-admin.bat,但在C:\Python34\Scripts中有一个django-admin.exe。使用.py后缀避免调用.exe或.bat文件不会改变结果。问题被编辑以反映这一点。我试过了。它产生了与django admin startproject testproject相同的结果。(不带.py后缀)谢谢。我将编辑这个问题来说明这一点。很好的解决方案。现在这个命令甚至比平时还要短。我使用%1在系统路径上创建了dj-a.bat,因此我只需键入dj-a新的\u项目
。非常感谢。