Ошибка при запуске команд с использованием оболочки, хотя успешно выполняются построчно вручную

Я использую centos7 RHEL на vagrant virtualbox, я создаю файл оболочки, который, когда я активирую vagrant, запускает команды в файле оболочки на виртуальной ОС.

Когда я использую SSH и запускаю каждую строку на терминале centos7, он работает, но когда я запускаю его через файл оболочки, он говорит, что на самом деле не установлен ни один модуль с именем venv и venv. Я не могу понять, пожалуйста, помогите. Спасибо.

install-shell.sh

sudo yum update
sudo yum install epel-release -y
sudo yum install centos-release-scl -y
sudo yum install git wget ibxslt-devel bzip2-devel openldap-devel libjpeg-devel freetype-devel -y
sudo yum groupinstall 'Development Tools' -y
sudo useradd -m -U -r -d /opt/odoo -s /bin/bash odoo
sudo -i
sudo bash -c 'echo "odoo ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers'

## Gist url
echo -e "\n---- "
export GIST_URL="https://gist.githubusercontent.com/Tarrasque18/c111670cb100b41bb6bf88064be9cc80/raw"

export PERL_UPDATE_ENV="perl -p -e 's/\{\{([^}]+)\}\}/defined \$ENV{\$1} ? \$ENV{\$1} : \$&/eg' "
 [[ -z $SYSTEM ]] && echo "Don't forget to define SYSTEM variable"

echo -e "\n---- Install Postpresql ----"
sudo yum install -y https://download.postgresql.org/pub/repos/yum/11/redhat/rhel-7-x86_64/pgdg-centos11-11-2.noarch.rpm
sudo yum install -y postgresql11-server.x86_64 postgresql11-contrib.x86_64
sudo /usr/pgsql-11/bin/postgresql-11-setup initdb
sudo systemctl start postgresql-11
sudo systemctl enable postgresql-11
# Create odoo user
sudo su - postgres -c "createuser -s odoo"
sudo su - postgres -c "createuser -s root"

echo -e "\n---- Install wkhtmltox ----"
sudo yum install -y https://downloads.wkhtmltopdf.org/0.12/0.12.5/wkhtmltox-0.12.5-1.centos7.x86_64.rpm

echo -e "\n---- Install Python 3 ----"
sudo yum install -y centos-release-scl libxml2-devel libxslt-devel python-devel
sudo yum install -y rh-python36
scl enable rh-python36 bash

echo -e "\n---- Install Nginx ----"
cd /etc/yum.repos.d/
wget -q ${GIST_URL}/nginx.repo -O nginx.repo
sudo yum -y update
sudo yum install nginx -y
systemctl enable nginx
service start nginx

echo -e "\n---- Install Certbot ----"
sudo yum -y install yum-utils
sudo yum-config-manager --enable rhui-REGION-rhel-server-extras rhui-REGION-rhel-server-optional
sudo yum -y install python2-certbot-nginx

echo -e "\n---- Install Odoo ----"
sudo yum –y update
cd /opt/odoo  
git clone https://www.github.com/odoo/odoo --depth 1 --branch 12.0 /opt/odoo/odoo

echo -e "\n---- Upgrade pip ----"
scl enable rh-python36 bash
cd /opt/odoo
python -m venv --without-pip odoo-venv
source odoo-venv/bin/activate
pip install --upgrade pip
pip install wheel
cd /opt/odoo
pip install -r odoo/requirements.txt
deactivate
mkdir /opt/odoo/odoo-custom-addons
sudo chown odoo: /opt/odoo/odoo-custom-addons

echo -e "\n---- Odoo config ----"
sudo yum -y install moreutils
cd /etc/
sudo wget -q ${GIST_URL}/odoo.conf -O odoo.conf
eval "${PERL_UPDATE_ENV} < odoo.conf" | sponge odoo.conf

echo -e "\n---- Install and enable odoo service ----"
cd /etc/systemd/system/
sudo wget -q ${GIST_URL}/odoo.service -O odoo.service
systemctl daemon-reload
systemctl start odoo
systemctl enable odoo
# Set enforce
setenforce 0

echo -e "\n---- Config nginx ----"
cd /etc/nginx/conf.d/
sudo wget -q ${GIST_URL}/nginx-odoo.conf -O odoo.conf
eval "${PERL_UPDATE_ENV} < odoo.conf" | sponge odoo.conf

systemctl restart nginx
0
задан 13 August 2019 в 17:40
1 ответ

Почему вы используете "python -m venv" вместо "pyvenv3 -m venv", так как был установлен python 3.6. CMIIW.

Я читал отсюда : https://developers.redhat.com/blog/2018/08/13/install-python3-rhel/ https://realpython.com/installing-python/

0
ответ дан 5 December 2019 в 01:26

Теги

Похожие вопросы