我已经使用Python3
安装了Anaconda。然后,我另外创建了一个Python2
的虚拟环境。计算机上没有其他的蟒蛇。我的问题:
如果我运行命令
python C:\Path\To\myScript.py arg1 arg2
在CMD中,Python 3.4用于执行myScript.py
(按预期/期望)。但!如果我创建一个包含上层命令的.bat
文件,则使用Python 2.7。 (我使用print(sys.version)
中的myScript.py
命令查看版本。
我该如何解决?
答案 0 :(得分:2)
尝试在批处理脚本中指定Python3的完整路径(即。/ path / to / Python3)可执行文件。它可能默认为系统python。
如果您使用的是virtualenv,并且您可能应该这样,那么在venv / bin / python(或类似的Windows下)中有一个单独的python可执行文件 - 通过绝对路径使用这个特定的可执行文件通常是确保正在使用正确的python环境,尤其是当脚本自动运行或由其他用户运行时。这完全是设计的,virtualenv经常以这种方式使用。
答案 1 :(得分:0)
因为您正在使用Anaconda,所以在python命令之前添加一行source deactivate
会显式停用任何virtualenv
编辑:对于windows cmd提示符,它可能只是deactivate
答案 2 :(得分:0)
您可以通过更改路径变量的值来更改python的默认版本,这可以通过以下回答How to update PATH variable permanently from cmd? Windows
来完成或者您可以暂时更改要使用的版本,然后按照How to run different python versions in cmd
进行操作我希望我的回答很有帮助。