在脚本结束时从Python 3.5切换到2.7?

在脚本结束时从Python 3.5切换到2.7?,python,python-2.7,python-3.x,anaconda,Python,Python 2.7,Python 3.x,Anaconda,我使用Anaconda并安装了Python 3.5。我每天都用这个(主要是熊猫)来处理文件 我想在我的一个脚本末尾添加为Tableau编写一个.tde文件 但这似乎需要Python2.7。我不想把所有的东西都混在一起,我在虚拟环境中完全没有经验等等 我的目标是基本上完成我的文件处理(像往常一样使用python 3.5),然后作为最后一步(具体地说,是Jupyter笔记本中的最后一个单元格),执行以下操作 import python2 import tableausdk #script to c

我使用Anaconda并安装了Python 3.5。我每天都用这个(主要是熊猫)来处理文件

我想在我的一个脚本末尾添加为Tableau编写一个.tde文件

但这似乎需要Python2.7。我不想把所有的东西都混在一起,我在虚拟环境中完全没有经验等等

我的目标是基本上完成我的文件处理(像往常一样使用python 3.5),然后作为最后一步(具体地说,是Jupyter笔记本中的最后一个单元格),执行以下操作

import python2
import tableausdk

#script to create the .tde file

有人能概述一些我应该采取的具体步骤来完成这项工作,而不会引起很大的头痛或将来的问题吗?

您可以做的是使用Python3部分工作的结果创建一个文件,然后使用
os.system
子流程
模块以文件作为参数启动Python2脚本但要做到这一点,你需要能够将你的任务分成两部分

但仅仅运行python3解释器是不可能做到这一点的

要启动第二个脚本,不需要VirtualNV,只需显式使用python2解释器即可

关于debian的示例:

os.system("/bin/python2 python2_script.py mydata.file")
或窗户

os.system("c:\python27\python.exe python2_script.py mydata.file")
编辑:将其用于蟒蛇

您可以使用创建py27环境

conda create --name py27 python=2.7 anaconda
这将在以下位置创建python解释器:

C:\Anaconda\envs\py27\python.exe
例如,python3脚本应该以这种方式调用它

os.system("C:\Anaconda\envs\py27\python.exe python2_script.py mydata.csv.bz2")

不,你不能在Python中这样做。如果你想在主要部分使用Python 3,在最后一步使用Python 2,你可以以某种版本无关的方式导出数据,然后调用Python 2脚本再次导入数据。请联系该库的编写者,让他将其移植到Python 3。如果有足够多的用户要求他这么做,他最终会意识到他早就应该移植这个库了。或者,您可以通过
ctypes
直接尝试使用C库。如果您只想使用一些命令
ctypes
,可能就足够了。因此,我可以做的是在Python 3脚本的末尾编写一个.csv.bz2文件。然后,在一个单独的脚本中,我可以读取该文件并只执行.tde步骤?我在看Anaconda文档时看到:condacreate-npy27 python=2.7 Anaconda这就是我应该做的来创建一个可以打开的2.7版本吗?如何在python脚本中使用该版本?@LanceDacey请参阅我的编辑