我希望AWS Cloud9使用我的Anaconda环境中的Python版本和特定包。我怎样才能做到这一点?我应该在哪里查看设置或配置?
我现在的设置是:我有一个带有Ubuntu的AWS EC2实例,并且我已经配置了AWS Cloud9来处理EC2实例。
我已经在EC2实例上安装了Anaconda,并且已经创建了一个conda Python3环境以供使用,但是Cloud9总是希望使用我的Linux系统安装的Python3版本。
发布于 2019-01-19 22:56:37
最后,我发现了一些迫使AWS Cloud9使用安装在我的AWS EC2实例的Anaconda环境中的Python3版本的东西。
为Python创建自定义AWS Cloud9运行程序的说明是这里。
{
"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“行所做的事情。
发布于 2019-08-15 08:45:00
经过一些测试后,我意识到我以前的答案使您无法使用调试器。基于@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"
}要做到这一点,只需单击右下角-> python3 ->中CWD旁边的“runners”,将->编辑为'env-name.run‘,在/.c9/runners中运行(默认情况下,该保存应该指向正确的目录)。
N.B.
env-name替换为整个环境的名称。ikp3db。which python来检查到您的conda可执行python的路径(因为我的路径以/python而不是/python3.6结束,尽管安装的是python3.6)发布于 2019-07-31 15:52:26
您可以使用“shell脚本”运行程序类型。要做到这一点,你可以:
py3env$HOME/c9_runner_scriptspy3env_runner.sh runner的脚本,代码如下:
conda activate py3env python ~/c9/my_py3_script.pyc9_runner_scripts/py3env_runner.shhttps://stackoverflow.com/questions/54102477
复制相似问题