簡體   English   中英

如何在 anaconda3 python 上運行 anaconda2 python

[英]How to run anaconda2 python on anaconda3 python

我有兩個靜態 python 版本 3.7 和 2.7 第一個靜態位置是:~/anaconda3/bin/python 第二個靜態位置是:~/anaconda2/bin/python

我想在 python 3 的另一個腳本中運行一個只適用於 python2 的方法。

另外,我想從該 python2 腳本中獲取返回值。

什么是合適的解決方案?

謝謝

我認為合適的解決方案是只使用一個 conda 安裝。

然后在該安裝中,您可以為 python 2 創建一個環境,為 python3 創建另一個環境。

conda create --name py2 python=2.7
conda create --name py3 python=3.5

來源: https : //docs.anaconda.com/anaconda/user-guide/tasks/switch-environment/

之后就可以使用py3環境運行python3部分,使用py2環境運行python2部分。

您可能必須在 py2 和 py3 環境中安裝“相同”的包。 但這很好。 例如,包 X 可能有一個適用於 python2 的舊版本和一個適用於 python3 但不適用於 python 2 的新版本。在這種情況下,您在 py2 上安裝舊版本,在 py 3 上安裝新版本

在 python 2 和 python 3 腳本之間傳遞值:使用 python 2 腳本將值保存到文件中。 然后讓python3腳本讀取文件。

解決方案是創建一個包含參數數據的文件,如果它很長。 然后我將文件名作為參數傳遞 {你必須讓另一個腳本解析該文件} 示例:

python2 = "~/anaconda2/bin/python"
script = "\'import Python2Function as pf ; pf.main(\"{0}\",\"{1}\")\'".format(shortargument, file2name)
output = os.popen(python2 + ' -c ' + script).read()

創建隨機文件名:您可以使用

import uuid
str(uuid.uuid4()) + '.tsv'

謝謝你,祝你好運:)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM