我希望AWS Cloud9使用我的Anaconda Python环境中的Python版本和特定软件包。我该如何实现?我应该在哪里查看设置或配置?
我当前的设置:我有一个带Ubuntu Linux的AWS EC2实例,并且我已经配置了AWS Cloud9与该EC2实例一起使用。
我在EC2实例上安装了Anaconda,并且创建了要使用的conda Python3环境,但是Cloud9始终希望使用Linux系统已安装的Python3版本。
答案 0 :(得分:4)
我终于找到了一些迫使AWS Cloud9使用在我的AWS EC2实例的Anaconda环境中安装的Python3版本的功能。
为Python创建自定义AWS Cloud9运行程序的说明为here:
{
"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”行的功能。
答案 1 :(得分:1)
您可以使用“ shell脚本”运行器类型。为此,您将:
py3env
$HOME/c9_runner_scripts
在其中放入一个名为py3env_runner.sh
的脚本,其代码如下:
conda activate py3env
python ~/c9/my_py3_script.py
然后使用“ shell脚本”运行器类型创建运行配置,然后输入c9_runner_scripts/py3env_runner.sh
答案 2 :(得分:1)
经过一些测试,我意识到我以前的回答使您无法使用调试器。在@Sean_Calgary的答案(比我的原始答案更好)的基础上,您可以编辑一个内置的python运行器(同样,只需用conda env的python路径的完整路径替换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”(另存为应该默认将您指向正确的目录。
N.B。
env-name
。 ikp3db
。which python
来检查您的conda envs可执行python的路径(他之所以抓我,是因为我的路径以/python
而不是/python3.6
结尾,即使安装了python 3.6)答案 3 :(得分:-1)
对我来说,在 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 环境下运行我的代码时,一切都很好。
这是我的简单python代码,它将打印当前的python版本
import sys
print(sys.version)
最好的。