我希望 AWS Cloud9 使用我的 Anaconda Python 环境中的 Python 版本和特定包。我怎样才能做到这一点?我应该在哪里查看设置或配置?
我当前的设置:我有一个带有 Ubuntu Linux 的 AWS EC2 实例,并且我已将 AWS Cloud9 配置为与 EC2 实例一起使用。
我在 EC2 实例上安装了 Anaconda,并创建了一个 conda Python3 环境来使用,但 Cloud9 总是想使用我的 Linux 系统安装的 Python3 版本。
我希望 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 版本的东西。
为 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 版本运行我的应用程序。
关于上面的代码,我唯一不明白的是 "selector": "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 旁边的 'runners' -> python3 -> 编辑 runner -> 在 /.c9/runners 中另存为 'env-name.run' (另存为应该指向你默认情况下到正确的目录)。
注意
env-name
为您的环境名称。ikp3db
。which python
(他抓住了我,因为我的路径以/python
, not结尾/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)
最好的。