如何将“python ...PATH...django-admin.py startproject myprojname”缩减为“django-admin.py startproject myprojname”?
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
它在路径中。
经过这些步骤后:
- 卸载LilyPond,并从路径中删除它
- 重新安装Python 3.4.1(虽然我不确定这是否必要)
- 将“.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 个回答
其他的建议都是有道理的。检查一下你的路径,看看用户和系统的 PATH 变量。确保只保留正确的路径后,再试一次。
接下来,换个角度说。有时候,我们需要在电脑上安装多个版本的软件(包括 Python)。所以,强烈建议使用 virtualenv(还有 virtualenvwrapper)来隔离 Python 的环境。通过 virtualenv,你可以安装你代码所需的 Python 版本,而不会和系统上其他的 Python 版本发生冲突。Python3 自带 virtualenv,但你可以在 这里 了解更多关于 virtualenv 的信息,关于 virtualenvwrapper 的信息可以在 这里 找到。