Hi On Mon, Sep 11, 2017 at 10:27 AM, Murtuza Zabuawala < murtuza.zabuaw...@enterprisedb.com> wrote:
> This is what I have in my system, which is working fine > > (venv26) murtuza@ubuntu-vm:[~/projects/pgadmin4/web/regression]$ python > Python 2.6.9 (default, Mar 6 2016, 02:31:36) > [GCC 5.3.1 20160225] on linux2 > Type "help", "copyright", "credits" or "license" for more information. > >>> import wheel > >>> wheel.__version__ > '0.30.0.a0' > > > Can you check on the build machine if it is newer version which is 0.30.0? > > -__version__ = "0.30.0a0" > +__version__ = "0.30.0" > Not sure how that can work - the release notes for 0.30.0 specifically say: - Removed support for Python 2.6, 3.2 and 3.3. I'm thinking the attached patch is the way to go for Jenkins. Thoughts? > > Ref: Link > <https://github.com/pypa/wheel/commit/3c9cc212a76b334307985cebfa7ebf269a419223#diff-0487b1d41a28969234e5fa6b6a1e5cb1L2> > > -- > Regards, > Murtuza Zabuawala > EnterpriseDB: http://www.enterprisedb.com > The Enterprise PostgreSQL Company > > [image: https://community.postgresrocks.net/] > <https://community.postgresrocks.net/> > > On Mon, Sep 11, 2017 at 2:52 PM, Murtuza Zabuawala <murtuza.zabuawala@ > enterprisedb.com> wrote: > >> It's newer version of wheel is breaking this, set literals are not >> implemented in Python2.6. >> >> Unsupported syntax for Python2.6: { 'PKG-INFO', 'requires.txt', >> 'SOURCES.txt',.... } >> >> They released newer version couple of hours before :( >> >> >> On Mon, Sep 11, 2017 at 2:32 PM, Dave Page <dp...@pgadmin.org> wrote: >> >>> Please also check the python wheel builds OK - iirc, packages with >>> conditionals in them in requirements.txt need special handling in setup.py. >>> >>> On Mon, Sep 11, 2017 at 9:55 AM, Dave Page <dp...@pgadmin.org> wrote: >>> >>>> Great, but what's breaking Jenkins? >>>> >>>> On Mon, Sep 11, 2017 at 9:54 AM, Murtuza Zabuawala < >>>> murtuza.zabuaw...@enterprisedb.com> wrote: >>>> >>>>> I'm able to run tests & pgAdmin4 on my machine using Python2.6. >>>>> >>>>> -- >>>>> Regards, >>>>> Murtuza Zabuawala >>>>> EnterpriseDB: http://www.enterprisedb.com >>>>> The Enterprise PostgreSQL Company >>>>> >>>>> [image: https://community.postgresrocks.net/] >>>>> <https://community.postgresrocks.net/> >>>>> >>>>> On Mon, Sep 11, 2017 at 2:08 PM, Dave Page <dp...@pgadmin.org> wrote: >>>>> >>>>>> Murtuza, please look into this ASAP. I need the builds to go green so >>>>>> I can cut the release! >>>>>> >>>>>> On Mon, Sep 11, 2017 at 9:32 AM, pgAdmin 4 Jenkins < >>>>>> jenk...@pgadmin.org> wrote: >>>>>> >>>>>>> See <https://jenkins.pgadmin.org/job/pgadmin4-master-python26/43 >>>>>>> 6/display/redirect?page=changes> >>>>>>> >>>>>>> Changes: >>>>>>> >>>>>>> [Dave Page] Stick with the older Flask-Script module for Python 2.6 >>>>>>> >>>>>>> ------------------------------------------ >>>>>>> Started by an SCM change >>>>>>> Started by an SCM change >>>>>>> Started by an SCM change >>>>>>> Started by an SCM change >>>>>>> Started by an SCM change >>>>>>> [EnvInject] - Loading node environment variables. >>>>>>> Building in workspace <https://jenkins.pgadmin.org/j >>>>>>> ob/pgadmin4-master-python26/ws/> >>>>>>> > git rev-parse --is-inside-work-tree # timeout=10 >>>>>>> Fetching changes from the remote Git repository >>>>>>> > git config remote.origin.url git://git.postgresql.org/git/p >>>>>>> gadmin4.git # timeout=10 >>>>>>> Cleaning workspace >>>>>>> > git rev-parse --verify HEAD # timeout=10 >>>>>>> Resetting working tree >>>>>>> > git reset --hard # timeout=10 >>>>>>> > git clean -fdx # timeout=10 >>>>>>> Fetching upstream changes from git://git.postgresql.org/git/p >>>>>>> gadmin4.git >>>>>>> > git --version # timeout=10 >>>>>>> > git fetch --tags --progress git://git.postgresql.org/git/p >>>>>>> gadmin4.git +refs/heads/*:refs/remotes/origin/* >>>>>>> > git rev-parse origin/master^{commit} # timeout=10 >>>>>>> Checking out Revision 8b1aeadaf0347fb27bc7756cdf03aad32d03f3da >>>>>>> (origin/master) >>>>>>> Commit message: "Stick with the older Flask-Script module for Python >>>>>>> 2.6" >>>>>>> > git config core.sparsecheckout # timeout=10 >>>>>>> > git checkout -f 8b1aeadaf0347fb27bc7756cdf03aad32d03f3da >>>>>>> > git rev-list ac2512799e75eebc7612ee9ebe0ffd0841f25912 # >>>>>>> timeout=10 >>>>>>> [EnvInject] - Executing scripts and injecting environment variables >>>>>>> after the SCM step. >>>>>>> [EnvInject] - Injecting as environment variables the properties >>>>>>> content >>>>>>> PYTHON_VERSION=2.6 >>>>>>> >>>>>>> [EnvInject] - Variables injected successfully. >>>>>>> [pgadmin4-master-python26] $ /bin/sh -xe >>>>>>> /tmp/jenkins1541475390173008577.sh >>>>>>> + <https://jenkins.pgadmin.org/job/pgadmin4-master-python26/ws >>>>>>> /ci/ci_runner.sh> >>>>>>> EXECUTING: Create pgAdmin config >>>>>>> >>>>>>> EXECUTING: Python tests >>>>>>> >>>>>>> Creating Python 2.6 virtual environment... >>>>>>> >>>>>>> New python executable in <https://jenkins.pgadmin.org/j >>>>>>> ob/pgadmin4-master-python26/ws/pgadmin-venv/bin/python> >>>>>>> Installing setuptools, pip, wheel...done. >>>>>>> Running virtualenv with interpreter /usr/local/python-2.6/bin/python >>>>>>> DEPRECATION: Python 2.6 is no longer supported by the Python core >>>>>>> team, please upgrade your Python. A future version of pip will drop >>>>>>> support >>>>>>> for Python 2.6 >>>>>>> Collecting Babel==2.3.4 (from -r requirements.txt (line 4)) >>>>>>> Using cached Babel-2.3.4-py2.py3-none-any.whl >>>>>>> Collecting beautifulsoup4==4.4.1 (from -r requirements.txt (line 5)) >>>>>>> Using cached beautifulsoup4-4.4.1-py2-none-any.whl >>>>>>> Collecting blinker==1.3 (from -r requirements.txt (line 6)) >>>>>>> Collecting click==6.6 (from -r requirements.txt (line 7)) >>>>>>> Using cached click-6.6-py2.py3-none-any.whl >>>>>>> Collecting extras==0.0.3 (from -r requirements.txt (line 8)) >>>>>>> Collecting fixtures==2.0.0 (from -r requirements.txt (line 9)) >>>>>>> Using cached fixtures-2.0.0-py2.py3-none-any.whl >>>>>>> Collecting Flask==0.11.1 (from -r requirements.txt (line 10)) >>>>>>> Using cached Flask-0.11.1-py2.py3-none-any.whl >>>>>>> Collecting Flask-Babel==0.11.1 (from -r requirements.txt (line 11)) >>>>>>> Collecting Flask-Gravatar==0.4.2 (from -r requirements.txt (line 12)) >>>>>>> Using cached Flask_Gravatar-0.4.2-py2.py3-none-any.whl >>>>>>> Collecting Flask-HTMLmin==1.2 (from -r requirements.txt (line 13)) >>>>>>> Collecting Flask-Login==0.3.2 (from -r requirements.txt (line 14)) >>>>>>> Collecting Flask-Mail==0.9.1 (from -r requirements.txt (line 15)) >>>>>>> Collecting Flask-Migrate==2.0.3 (from -r requirements.txt (line 16)) >>>>>>> Collecting Flask-Principal==0.4.0 (from -r requirements.txt (line >>>>>>> 17)) >>>>>>> Collecting Flask-Security==1.7.5 (from -r requirements.txt (line 18)) >>>>>>> Collecting Flask-SQLAlchemy==2.1 (from -r requirements.txt (line 19)) >>>>>>> Collecting Flask-WTF==0.12 (from -r requirements.txt (line 20)) >>>>>>> Using cached Flask_WTF-0.12-py2-none-any.whl >>>>>>> Collecting html5lib==1.0b3 (from -r requirements.txt (line 21)) >>>>>>> Collecting importlib==1.0.3 (from -r requirements.txt (line 22)) >>>>>>> Collecting itsdangerous==0.24 (from -r requirements.txt (line 23)) >>>>>>> Collecting Jinja2==2.7.3 (from -r requirements.txt (line 24)) >>>>>>> Collecting linecache2==1.0.0 (from -r requirements.txt (line 25)) >>>>>>> Using cached linecache2-1.0.0-py2.py3-none-any.whl >>>>>>> Collecting MarkupSafe==0.23 (from -r requirements.txt (line 26)) >>>>>>> Collecting ordereddict (from -r requirements.txt (line 27)) >>>>>>> <https://jenkins.pgadmin.org/job/pgadmin4-master-python26/ws >>>>>>> /pgadmin-venv/lib/python2.6/site-packages/pip/_vendor/reques >>>>>>> ts/packages/urllib3/util/ssl_.py>:318: SNIMissingWarning: An HTTPS >>>>>>> request has been made, but the SNI (Subject Name Indication) extension >>>>>>> to >>>>>>> TLS is not available on this platform. This may cause the server to >>>>>>> present >>>>>>> an incorrect TLS certificate, which can cause validation failures. You >>>>>>> can >>>>>>> upgrade to a newer version of Python to solve this. For more >>>>>>> information, >>>>>>> see https://urllib3.readthedocs.io/en/latest/security.html#snimi >>>>>>> ssingwarning. >>>>>>> SNIMissingWarning >>>>>>> <https://jenkins.pgadmin.org/job/pgadmin4-master-python26/ws >>>>>>> /pgadmin-venv/lib/python2.6/site-packages/pip/_vendor/reques >>>>>>> ts/packages/urllib3/util/ssl_.py>:122: InsecurePlatformWarning: A >>>>>>> true SSLContext object is not available. This prevents urllib3 from >>>>>>> configuring SSL appropriately and may cause certain SSL connections to >>>>>>> fail. You can upgrade to a newer version of Python to solve this. For >>>>>>> more >>>>>>> information, see https://urllib3.readthedocs.io >>>>>>> /en/latest/security.html#insecureplatformwarning. >>>>>>> InsecurePlatformWarning >>>>>>> Collecting passlib==1.6.2 (from -r requirements.txt (line 28)) >>>>>>> Collecting pbr==1.9.1 (from -r requirements.txt (line 29)) >>>>>>> Using cached pbr-1.9.1-py2.py3-none-any.whl >>>>>>> Collecting psycopg2>=2.7.1 (from -r requirements.txt (line 30)) >>>>>>> Using cached psycopg2-2.7.3.1-cp26-cp26m-manylinux1_x86_64.whl >>>>>>> Collecting pycrypto==2.6.1 (from -r requirements.txt (line 31)) >>>>>>> Collecting pyrsistent==0.11.13 (from -r requirements.txt (line 32)) >>>>>>> Collecting python-dateutil==2.5.0 (from -r requirements.txt (line >>>>>>> 33)) >>>>>>> Using cached python_dateutil-2.5.0-py2.py3-none-any.whl >>>>>>> Collecting python-mimeparse==1.5.1 (from -r requirements.txt (line >>>>>>> 34)) >>>>>>> Collecting pytz==2014.10 (from -r requirements.txt (line 35)) >>>>>>> Using cached pytz-2014.10-py2.py3-none-any.whl >>>>>>> Collecting simplejson==3.6.5 (from -r requirements.txt (line 36)) >>>>>>> Collecting six>=1.9.0 (from -r requirements.txt (line 37)) >>>>>>> Using cached six-1.10.0-py2.py3-none-any.whl >>>>>>> Collecting speaklater==1.3 (from -r requirements.txt (line 38)) >>>>>>> Collecting SQLAlchemy==1.0.14 (from -r requirements.txt (line 39)) >>>>>>> Collecting sqlparse==0.1.19 (from -r requirements.txt (line 40)) >>>>>>> Collecting Werkzeug==0.9.6 (from -r requirements.txt (line 41)) >>>>>>> Collecting WTForms==2.0.2 (from -r requirements.txt (line 42)) >>>>>>> Using cached WTForms-2.0.2-py2.py3-none-any.whl >>>>>>> Collecting backports.csv==1.0.4 (from -r requirements.txt (line 43)) >>>>>>> Using cached backports.csv-1.0.4-py2.py3-none-any.whl >>>>>>> Collecting Flask-Paranoid==0.1.0 (from -r requirements.txt (line 44)) >>>>>>> Collecting Flask-Script==2.0.5 (from -r requirements.txt (line 45)) >>>>>>> Collecting testtools>=0.9.22 (from fixtures==2.0.0->-r >>>>>>> requirements.txt (line 9)) >>>>>>> Using cached testtools-2.3.0-py2.py3-none-any.whl >>>>>>> Collecting htmlmin (from Flask-HTMLmin==1.2->-r requirements.txt >>>>>>> (line 13)) >>>>>>> Collecting alembic>=0.6 (from Flask-Migrate==2.0.3->-r >>>>>>> requirements.txt (line 16)) >>>>>>> Collecting unittest2>=1.0.0 (from testtools>=0.9.22->fixtures==2.0.0->-r >>>>>>> requirements.txt (line 9)) >>>>>>> Using cached unittest2-1.1.0-py2.py3-none-any.whl >>>>>>> Collecting traceback2 (from testtools>=0.9.22->fixtures==2.0.0->-r >>>>>>> requirements.txt (line 9)) >>>>>>> Using cached traceback2-1.4.0-py2.py3-none-any.whl >>>>>>> Collecting Mako (from alembic>=0.6->Flask-Migrate==2.0.3->-r >>>>>>> requirements.txt (line 16)) >>>>>>> Collecting python-editor>=0.3 (from >>>>>>> alembic>=0.6->Flask-Migrate==2.0.3->-r >>>>>>> requirements.txt (line 16)) >>>>>>> Collecting argparse (from >>>>>>> unittest2>=1.0.0->testtools>=0.9.22->fixtures==2.0.0->-r >>>>>>> requirements.txt (line 9)) >>>>>>> Using cached argparse-1.4.0-py2.py3-none-any.whl >>>>>>> Installing collected packages: pytz, Babel, beautifulsoup4, blinker, >>>>>>> click, extras, six, python-mimeparse, linecache2, traceback2, argparse, >>>>>>> unittest2, pbr, testtools, fixtures, MarkupSafe, Jinja2, Werkzeug, >>>>>>> itsdangerous, Flask, Flask-Babel, Flask-Gravatar, htmlmin, >>>>>>> Flask-HTMLmin, >>>>>>> Flask-Login, Flask-Mail, Flask-Script, python-dateutil, SQLAlchemy, >>>>>>> Mako, >>>>>>> python-editor, alembic, Flask-SQLAlchemy, Flask-Migrate, >>>>>>> Flask-Principal, >>>>>>> passlib, ordereddict, WTForms, Flask-WTF, Flask-Security, html5lib, >>>>>>> importlib, psycopg2, pycrypto, pyrsistent, simplejson, speaklater, >>>>>>> sqlparse, backports.csv, Flask-Paranoid >>>>>>> Successfully installed Babel-2.3.4 Flask-0.11.1 Flask-Babel-0.11.1 >>>>>>> Flask-Gravatar-0.4.2 Flask-HTMLmin-1.2 Flask-Login-0.3.2 >>>>>>> Flask-Mail-0.9.1 >>>>>>> Flask-Migrate-2.0.3 Flask-Paranoid-0.1.0 Flask-Principal-0.4.0 >>>>>>> Flask-SQLAlchemy-2.1 Flask-Script-2.0.5 Flask-Security-1.7.5 >>>>>>> Flask-WTF-0.12 >>>>>>> Jinja2-2.7.3 Mako-1.0.7 MarkupSafe-0.23 SQLAlchemy-1.0.14 WTForms-2.0.2 >>>>>>> Werkzeug-0.9.6 alembic-0.9.5 argparse-1.4.0 backports.csv-1.0.4 >>>>>>> beautifulsoup4-4.4.1 blinker-1.3 click-6.6 extras-0.0.3 fixtures-2.0.0 >>>>>>> html5lib-1.0b3 htmlmin-0.1.10 importlib-1.0.3 itsdangerous-0.24 >>>>>>> linecache2-1.0.0 ordereddict-1.1 passlib-1.6.2 pbr-1.9.1 >>>>>>> psycopg2-2.7.3.1 >>>>>>> pycrypto-2.6.1 pyrsistent-0.11.13 python-dateutil-2.5.0 >>>>>>> python-editor-1.0.3 >>>>>>> python-mimeparse-1.5.1 pytz-2014.10 simplejson-3.6.5 six-1.10.0 >>>>>>> speaklater-1.3 sqlparse-0.1.19 testtools-2.3.0 traceback2-1.4.0 >>>>>>> unittest2-1.1.0 >>>>>>> DEPRECATION: Python 2.6 is no longer supported by the Python core >>>>>>> team, please upgrade your Python. A future version of pip will drop >>>>>>> support >>>>>>> for Python 2.6 >>>>>>> <https://jenkins.pgadmin.org/job/pgadmin4-master-python26/ws >>>>>>> /pgadmin-venv/lib/python2.6/site-packages/pip/req/req_file.py>:150: >>>>>>> UserWarning: Disabling all use of wheels due to the use of >>>>>>> --build-options >>>>>>> / --global-options / --install-options. >>>>>>> cmdoptions.check_install_build_global(options, opts) >>>>>>> Collecting pyperclip~=1.5.27 (from -r web/regression/requirements.txt >>>>>>> (line 1)) >>>>>>> Using cached pyperclip-1.5.27.zip >>>>>>> Collecting selenium==3.3.3 (from -r web/regression/requirements.txt >>>>>>> (line 2)) >>>>>>> Using cached selenium-3.3.3.tar.gz >>>>>>> Collecting testscenarios==0.5.0 (from -r >>>>>>> web/regression/requirements.txt (line 3)) >>>>>>> Using cached testscenarios-0.5.0.tar.gz >>>>>>> Complete output from command python setup.py egg_info: >>>>>>> <https://jenkins.pgadmin.org/job/pgadmin4-master-python26/ws >>>>>>> /pgadmin-venv/lib/python2.6/site-packages/setuptools/dist.py>:34: >>>>>>> DeprecationWarning: Do not call this function >>>>>>> warnings.warn("Do not call this function", DeprecationWarning) >>>>>>> ERROR:root:Error parsing >>>>>>> Traceback (most recent call last): >>>>>>> File "<https://jenkins.pgadmin.org/ >>>>>>> job/pgadmin4-master-python26/ws/pgadmin-venv/lib/python2.6/s >>>>>>> ite-packages/pbr/core.py",> line 111, in pbr >>>>>>> attrs = util.cfg_to_args(path, dist.script_args) >>>>>>> File "<https://jenkins.pgadmin.org/ >>>>>>> job/pgadmin4-master-python26/ws/pgadmin-venv/lib/python2.6/s >>>>>>> ite-packages/pbr/util.py",> line 264, in cfg_to_args >>>>>>> wrap_commands(kwargs) >>>>>>> File "<https://jenkins.pgadmin.org/ >>>>>>> job/pgadmin4-master-python26/ws/pgadmin-venv/lib/python2.6/s >>>>>>> ite-packages/pbr/util.py",> line 566, in wrap_commands >>>>>>> cmdclass = ep.resolve() >>>>>>> File "<https://jenkins.pgadmin.org/ >>>>>>> job/pgadmin4-master-python26/ws/pgadmin-venv/lib/python2.6/s >>>>>>> ite-packages/pkg_resources/__init__.py",> line 2347, in resolve >>>>>>> module = __import__(self.module_name, fromlist=['__name__'], >>>>>>> level=0) >>>>>>> File "<https://jenkins.pgadmin.org/ >>>>>>> job/pgadmin4-master-python26/ws/pgadmin-venv/lib/python2.6/s >>>>>>> ite-packages/wheel/bdist_wheel.py",> line 407 >>>>>>> ignore=lambda x, y: {'PKG-INFO', 'requires.txt', >>>>>>> 'SOURCES.txt', >>>>>>> ^ >>>>>>> SyntaxError: invalid syntax >>>>>>> error in setup command: Error parsing >>>>>>> /tmp/pip-build-yysFV3/testscenarios/setup.cfg: SyntaxError: invalid >>>>>>> syntax (bdist_wheel.py, line 407) >>>>>>> >>>>>>> ---------------------------------------- >>>>>>> Command "python setup.py egg_info" failed with error code 1 in >>>>>>> /tmp/pip-build-yysFV3/testscenarios/ >>>>>>> ERROR: Failed to install the regression test requirements. >>>>>>> ERROR: Error detected when running the Python tests. >>>>>>> Build step 'Execute shell' marked build as failure >>>>>>> >>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> Dave Page >>>>>> Blog: http://pgsnake.blogspot.com >>>>>> Twitter: @pgsnake >>>>>> >>>>>> EnterpriseDB UK: http://www.enterprisedb.com >>>>>> The Enterprise PostgreSQL Company >>>>>> >>>>> >>>>> >>>> >>>> >>>> -- >>>> Dave Page >>>> Blog: http://pgsnake.blogspot.com >>>> Twitter: @pgsnake >>>> >>>> EnterpriseDB UK: http://www.enterprisedb.com >>>> The Enterprise PostgreSQL Company >>>> >>> >>> >>> >>> -- >>> Dave Page >>> Blog: http://pgsnake.blogspot.com >>> Twitter: @pgsnake >>> >>> EnterpriseDB UK: http://www.enterprisedb.com >>> The Enterprise PostgreSQL Company >>> >> >> > -- Dave Page Blog: http://pgsnake.blogspot.com Twitter: @pgsnake EnterpriseDB UK: http://www.enterprisedb.com The Enterprise PostgreSQL Company
diff --git a/ci/run_feature_tests.sh b/ci/run_feature_tests.sh index 993b425a..b30c5b0b 100755 --- a/ci/run_feature_tests.sh +++ b/ci/run_feature_tests.sh @@ -21,8 +21,9 @@ if [[ "$PYTHON_VERSION" == 3* ]]; then PYTHON_SUFFIX="3" fi -/usr/bin/virtualenv -p /usr/local/python-$PYTHON_VERSION/bin/python$PYTHON_SUFFIX $WORKSPACE/pgadmin-venv || { echo 'ERROR: Failed to create the Python virtual environment.' ; exit 1; } +/usr/bin/virtualenv --no-wheel -p /usr/local/python-$PYTHON_VERSION/bin/python$PYTHON_SUFFIX $WORKSPACE/pgadmin-venv || { echo 'ERROR: Failed to create the Python virtual environment.' ; exit 1; } . $WORKSPACE/pgadmin-venv/bin/activate || { echo 'ERROR: Failed to activate the Python virtual environment.' ; exit 1; } +$WORKSPACE/pgadmin-venv/bin/pip install wheel==0.29.0 || { echo 'ERROR: Failed to install wheel 0.29.0.' ; exit 1; } $WORKSPACE/pgadmin-venv/bin/pip install -r requirements.txt || { echo 'ERROR: Failed to install the application requirements.' ; exit 1; } $WORKSPACE/pgadmin-venv/bin/pip install -r web/regression/requirements.txt || { echo 'ERROR: Failed to install the regression test requirements.' ; exit 1; } diff --git a/ci/run_python_tests.sh b/ci/run_python_tests.sh index 3592220b..c3f48d0f 100755 --- a/ci/run_python_tests.sh +++ b/ci/run_python_tests.sh @@ -14,8 +14,9 @@ if [[ "$PYTHON_VERSION" == 3* ]]; then PYTHON_SUFFIX="3" fi -/usr/bin/virtualenv -p /usr/local/python-$PYTHON_VERSION/bin/python$PYTHON_SUFFIX $WORKSPACE/pgadmin-venv || { echo 'ERROR: Failed to create the Python virtual environment.' ; exit 1; } +/usr/bin/virtualenv --no-wheel -p /usr/local/python-$PYTHON_VERSION/bin/python$PYTHON_SUFFIX $WORKSPACE/pgadmin-venv || { echo 'ERROR: Failed to create the Python virtual environment.' ; exit 1; } . $WORKSPACE/pgadmin-venv/bin/activate || { echo 'ERROR: Failed to activate the Python virtual environment.' ; exit 1; } +$WORKSPACE/pgadmin-venv/bin/pip install wheel==0.29.0 || { echo 'ERROR: Failed to install wheel 0.29.0.' ; exit 1; } $WORKSPACE/pgadmin-venv/bin/pip install -r requirements.txt || { echo 'ERROR: Failed to install the application requirements.' ; exit 1; } $WORKSPACE/pgadmin-venv/bin/pip install -r web/regression/requirements.txt || { echo 'ERROR: Failed to install the regression test requirements.' ; exit 1; }