我有一个简单的脚本blah.py(使用Python 2):
import sys
print sys.argv[1]
Run Code Online (Sandbox Code Playgroud)
如果我执行我的脚本:
python c:/..../blah.py argument
Run Code Online (Sandbox Code Playgroud)
它打印参数,但如果我执行脚本:
blah.py argument
Run Code Online (Sandbox Code Playgroud)
发生错误:
IndexError ...
所以参数不会传递给脚本.
PATH中的python.exe.blah.py的文件夹也在PATH中.
python.exe是执行*.py文件的默认程序.
问题是什么?
当我开始金字塔pserve时,我得到了这个堆栈跟踪:
% python $(which pserve) ../etc/development.ini
Traceback (most recent call last):
File "/home/hughdbrown/.local/bin/pserve", line 9, in <module>
load_entry_point('pyramid==1.5', 'console_scripts', 'pserve')()
File "/home/hughdbrown/.virtualenvs/ponder/local/lib/python2.7/site-packages/pyramid-1.5-py2.7.egg/pyramid/scripts/pserve.py", line 51, in main
return command.run()
File "/home/hughdbrown/.virtualenvs/ponder/local/lib/python2.7/site-packages/pyramid-1.5-py2.7.egg/pyramid/scripts/pserve.py", line 316, in run
global_conf=vars)
File "/home/hughdbrown/.virtualenvs/ponder/local/lib/python2.7/site-packages/pyramid-1.5-py2.7.egg/pyramid/scripts/pserve.py", line 340, in loadapp
return loadapp(app_spec, name=name, relative_to=relative_to, **kw)
File "/home/hughdbrown/.virtualenvs/ponder/lib/python2.7/site-packages/PasteDeploy-1.5.2-py2.7.egg/paste/deploy/loadwsgi.py", line 247, in loadapp
return loadobj(APP, uri, name=name, **kw)
File "/home/hughdbrown/.virtualenvs/ponder/lib/python2.7/site-packages/PasteDeploy-1.5.2-py2.7.egg/paste/deploy/loadwsgi.py", line 271, in loadobj
global_conf=global_conf)
File "/home/hughdbrown/.virtualenvs/ponder/lib/python2.7/site-packages/PasteDeploy-1.5.2-py2.7.egg/paste/deploy/loadwsgi.py", line 296, in loadcontext
global_conf=global_conf)
File "/home/hughdbrown/.virtualenvs/ponder/lib/python2.7/site-packages/PasteDeploy-1.5.2-py2.7.egg/paste/deploy/loadwsgi.py", line 320, in _loadconfig
return loader.get_context(object_type, name, …Run Code Online (Sandbox Code Playgroud) 我需要为.py文件设置关联以使用特定的python版本执行.但我需要仅为单个cmd.exe会话建立此关联(并行会话不应受影响).Windows是否允许这样做?
我怀疑答案是否定的,但是我希望看到一些证据,然后再将这个功能转化为virtualenv.