簡體   English   中英

配置 AWS Cloud9 以使用 Anaconda Python 環境

[英]Configure AWS Cloud9 to use Anaconda Python Environment

我希望 AWS Cloud9 使用來自我的 Anaconda Python 環境的 Python 版本和特定包。 我怎樣才能做到這一點? 我應該在哪里查看設置或配置?

我當前的設置:我有一個使用 Ubuntu Linux 的 AWS EC2 實例,並且我已將 AWS Cloud9 配置為與 EC2 實例一起使用。

我在EC2實例上安裝了Anaconda,並創建了一個conda Python3環境使用,但是Cloud9一直想使用我Linux系統安裝的Python3版本。

我終於找到了強制 AWS Cloud9 使用安裝在我的 AWS EC2 實例上的 Anaconda 環境中的 Python3 版本的東西。

說明創建一個自定義的AWS CLOUD9亞軍為Python是在這里

{
    "cmd" : ["/home/ubuntu/anaconda3/envs/ijackweb/bin/python3.6", "$file", "$args"],
    "info" : "Running $project_path$file_name...",
    "selector" : "source.py"
}

我只是創建一個新的運行器並將上面的代碼粘貼到那里,Cloud9 使用我的 Anaconda 環境版本的 Python3 運行我的應用程序。

關於上述代碼,我唯一不明白的是“選擇器”:“source.py”行的作用。

經過一些測試,我意識到我之前的回答阻止了您使用調試器。 基於@Sean_Calgary 的答案(比我的原始答案更好),您可以編輯其中一個內置的 python 運行程序(同樣,只需將 python 調用替換為 conda env 的 python 路徑的完整路徑),就像這樣:

    {
  "script": [
    "if [ \"$debug\" == true ]; then ",
    "    /home/tg/miniconda/envs/env-name/bin/python -m ikp3db -ik_p=15471 -ik_cwd=$project_path \"$file\" $args",
    "else",
    "   /home/tg/miniconda/envs/env-name/bin/python \"$file\" $args",
    "fi",
    "checkExitCode() {",
    "    if [ $1 ] && [ \"$debug\" == true ]; then ",
    "        /home/tg/miniconda/envs/env-name/bin/python -m ikp3db 2>&1 | grep -q 'No module' && echo '",
    "    To use python debugger install ikpdb by running: ",
    "        sudo yum update;",
    "        sudo yum install python36-devel;",
    "        sudo pip-3.6 install ikp3db;",
    "        '",
    "    fi",
    "   return $1",
    "}",
    "checkExitCode $?"
  ],
  "python_version": "python3",
  "working_dir": "$project_path",
  "debugport": 15471,
  "$debugDefaultState": false,
  "debugger": "ikpdb",
  "selector": "^.*\\.(py)$",
  "env": {
    "PYTHONPATH": "$python_path"
  },
  "trackId": "Python3"
}

為此,只需單擊右下角 CWD 旁邊的“跑步者”-> python3 -> 編輯跑步者 -> 在 /.c9/runners 中另存為“env-name.run”(保存為應該指向您默認到正確的目錄)。

NB

  1. 在整個過程中將env-name替換為您的環境名稱。
  2. 您將需要安裝在 conda 環境中的調試器包。 它被稱為ikp3db
  3. 您可能需要通過激活環境並運行which python來檢查 conda envs 可執行文件 python 的路徑(他抓住了我,因為我的路徑以/python結尾,而不是/python3.6 ,即使它安裝的是 python 3.6)

您可以使用“shell 腳本”運行程序類型。 為此,您將:

  1. 創建您的 conda env,使用 python3 和您想要的任何包等。 稱之為py3env
  2. 創建一個目錄來保存你的運行腳本,比如$HOME/c9_runner_scripts
  3. 在其中放置一個名為py3env_runner.sh runner 的腳本,代碼如下:

    conda activate py3env python ~/c9/my_py3_script.py

  4. 然后使用“shell script”運行器類型創建一個運行配置並輸入c9_runner_scripts/py3env_runner.sh

對我來說,在 centos 7 上,使用 conda python v 3.9.4 執行的唯一方法是在我的 .bash_profile 中添加一個 conda activate 行,如下所示:

conda 激活 /var/www/my_conda/python3.9

然后在 Cloud 9 中,當我在 conda python 3.9 env 下運行我的代碼時,一切都很好。

這是我的簡單 python 代碼,它將打印當前的 python 版本

import sys
print(sys.version)

最好的事物。

暫無
暫無

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

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