有没有办法控制双击py文件时运行的python版本?从命令行和eclipse等环境中我可以控制运行的版本.但是从双击我不确定.
我安装了2.6和2.7.2.6是针对某些应用程序特定的东西,我想将2.7设为默认值.我已将"C:\ Python27"添加到PATH环境变量中,并且在命令行中运行良好.C:\ path\to\some\file> python someFile.py将在2.7中运行该文件.但是,如果我从资源管理器中双击同一个文件,它将运行2.6.如何让它运行2.7?
我已经环顾四周了,我找到问题的答案还没有让我解决它.
我想使用孤立的virtualenv环境,但出于某种原因,virtualenv在django的shell中继续加载全局站点包...
我试图清理PATH变量,直到只剩下c:\ Python26\Scripts和c:\ Python26.然后我创建我的环境.
virtualenv --distribute --no-site-packages myproject
Run Code Online (Sandbox Code Playgroud)
然后我激活virtualenv.PATH现在(无关的vars报废):
PATH=E:\Development\django_projects\myproject\Scripts;C:\Panda3D-1.7.0\python;C:\Panda3D-1.7.0\bin;c:\python26\Scripts;
Run Code Online (Sandbox Code Playgroud)
PYTHONPATH=C:\Panda3D-1.7.0\
到现在为止还挺好.我启动python ...
>>> import django
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named django
Run Code Online (Sandbox Code Playgroud)
让我们尝试一个我确定在我的c:\ python site-packages目录中的模块.
>>> import BeautifulSoup
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named BeautifulSoup
Run Code Online (Sandbox Code Playgroud)
好极了!没有全球网站套餐!然后到下一个.在命令提示符下,我输入:
django-admin.py
Run Code Online (Sandbox Code Playgroud)
它的工作原理!但是等等......我还没有安装Django.这怎么可能?
在此之后,它变得更加怪异......我首先将这些添加到virtualenv的activate.bat脚本中,以便Django可以找到我的设置.
set PYTHONPATH=E:\Development\django_projects\myproject\
set DJANGO_SETTINGS_MODULE=settings.development
Run Code Online (Sandbox Code Playgroud)
现在我启动django-admin.py shell和
In [1]: import BeautifulSoup
In [2]: BeautifulSoup.__file__
Out[2]: 'C:\\Python26\\lib\\site-packages\\BeautifulSoup.pyc'
Run Code Online (Sandbox Code Playgroud)
这怎么可能呢?
闪光的洞察力
打字时,我突然明白了..py是一个文件扩展名,加上我的c:\ python26\python.exe可执行文件,而不是virtualenv文件!
python manage.py …Run Code Online (Sandbox Code Playgroud) virtualenv不将.py(w)文件与virtualenv的Python可执行文件版本相关联的原因是什么?考虑到Windows上没有像shebang这样的机制,这对于Windows上的virtualenv来说似乎是一个理想的任务.
我有.py扩展名与Python解释器相关的文件.但是,当我在命令行键入此类文件的名称并按下ENTER该文件时,将在默认文本编辑器(Notepad ++)中打开该文件,而不是使用关联的Python解释器运行.为什么?
Z:\1>where python
c:\Program Files\Python\2.7\python.exe
Z:\1>reg query HKCR\.py /ve
HKEY_CLASSES_ROOT\.py
(Default) REG_SZ Python.File
Z:\1>reg query HKCR\Python.File\shell\open\command /ve
HKEY_CLASSES_ROOT\Python.File\shell\open\command
(Default) REG_SZ c:\Program Files\Python\2.7\python.exe "%1" %*
Z:\1>echo %PATHEXT%
.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC;.PY;.PYW
Z:\1>type a.py
from __future__ import print_function; import sys; print(sys.executable); print(sys.version)
Z:\1>a.py <--- this opens a.py in the default text editor
Run Code Online (Sandbox Code Playgroud)
我使用的是Windows Vista x64 Python 2.7.3 (default, Apr 10 2012, 23:24:47) [MSC v.1500 64 bit (AMD64)] on win32
UPDATE
删除HKEY_CLASSES_ROOT\Unknown\shell\notepad++\command密钥后(我在过去创建了这个密钥,以便在没有扩展名的情况下将文件与Notepad ++相关联 - 请参阅如何设置默认程序,在Windows中没有扩展名的情况下打开文件?),其值为C:\Program Files …
我刚刚在VS Code上安装了python,但是我无法使用来运行任何python代码 python command。
好像用了 python默认情况下命令,但无法识别命令。
当我右键单击并选择Run Code它时抱怨:
'python' is not recognized as an internal or external command, operable program or batch file
手动运行也是如此 python main.py。
当我打开提升的PowerShell并运行时python,它抱怨:
python : The term 'python' is not recognized as the name of a cmdlet, function, script file, or operable program.
Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
At line:1 char:1
+ python …Run Code Online (Sandbox Code Playgroud) python automation build visual-studio-code vscode-code-runner
python ×4
windows ×4
virtualenv ×2
automation ×1
build ×1
command-line ×1
double-click ×1
shebang ×1
version ×1