【问题标题】:Installing pip package through .ebextensions通过 .ebextensions 安装 pip 包
【发布时间】:2020-09-14 01:25:58
【问题描述】:

我在安装包psycopg2ebextensions 时遇到问题。

00_software.config

packages:
  yum:
    git: []
    htop: []
  pip:
    psycopg2: []

01_setup_pg_activity.config

commands:
    clone:
        command: git clone https://github.com/dalibo/pg_activity.git
    install_psycopg2:
        command: cd pg_activity && python setup.py install

或者,我也尝试过,但无济于事

commands:
    clone:
        command: git clone https://github.com/dalibo/pg_activity.git
    install_psycopg2:
        command: pip install psycopg2
    install_psycopg2:
        command: cd pg_activity && python setup.py install

其他软件会安装,但 pip 包不会安装

Traceback (most recent call last):
  File "/usr/local/bin/pg_activity", line 4, in <module>
    __import__('pkg_resources').run_script('pg-activity==1.6.1', 'pg_activity')
  File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 742, in run_script
    self.require(requires)[0].run_script(script_name, ns)
  File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 1510, in run_script
    exec(script_code, namespace, namespace)
  File "/usr/local/lib/python2.7/site-packages/pg_activity-1.6.1-py2.7.egg/EGG-INFO/scripts/pg_activity", line 42, in <module>

ImportError: No module named psycopg2

我必须手动进入并运行sudo pip install psycopg2 才能正确安装。如何在构建过程中做到这一点?

【问题讨论】:

  • 是amazon linux 1还是2?我也假设它的python env?
  • 2 我很确定。 beanstalk 环境是 RoR,但我已经安装了 python 所需的所有基本东西
  • 如果您使用的是虚拟环境和 EB CLI,在虚拟环境处于活动状态时,只需创建 requirements.txt 就足够了。 EB CLI 在部署时处理包安装。
  • @ikonuk 谢谢,如果您想发布不接受的答案,这是唯一对我有用的方法

标签: amazon-web-services amazon-elastic-beanstalk virtualenv ebextensions


【解决方案1】:

如果您使用的是虚拟环境和EB CLI,则只需在虚拟环境处于活动状态时创建requirements.txt 就足够了。 EB CLI 在部署时处理包安装。

【讨论】:

    【解决方案2】:

    使用 EB 和 AL2(python 环境;尚未在 RoR 上测试),成功安装 pg_activity

    对于包(仅显示 psycopg2)我有

    packages: 
        yum:
            python-psycopg2: []
    

    commands 配置文件是(20_setup_pg_activity.config):

    commands:
        05_clone:
            command: git clone https://github.com/dalibo/pg_activity.git    
        10_install_pg_activity:
            command: cd pg_activity && python setup.py install
    

    在 env 设置之后,我登录到 EB 实例以检查 pg_activity 是否存在(仅显示部分):

    ec2-user@ip-172-31-82-127 ~]$ pg_activity --help
    Usage: pg_activity [options]
    
    htop like application for PostgreSQL server activity monitoring.
    
    Options:
      --version             show program's version number and exit
      -U USERNAME, --username=USERNAME
    

    【讨论】:

      猜你喜欢
      • 2020-01-07
      • 1970-01-01
      • 1970-01-01
      • 2017-02-04
      • 1970-01-01
      • 1970-01-01
      • 2015-05-01
      • 2018-01-10
      • 2022-01-22
      相关资源
      最近更新 更多