![](/img/trans.png)
[英]Unable to access local environment variable using Python in AWS Cloud9 IDE
[英]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
env-name
替換為您的環境名稱。ikp3db
。which python
來檢查 conda envs 可執行文件 python 的路徑(他抓住了我,因為我的路徑以/python
結尾,而不是/python3.6
,即使它安裝的是 python 3.6)您可以使用“shell 腳本”運行程序類型。 為此,您將:
py3env
$HOME/c9_runner_scripts
在其中放置一個名為py3env_runner.sh
runner 的腳本,代碼如下:
conda activate py3env python ~/c9/my_py3_script.py
然后使用“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.