Hi Dave,

On Fri, Feb 9, 2018 at 8:40 PM, Dave Page <dp...@pgadmin.org> wrote:

> Hi,
>
> Doesn't this need to include 2.7 in the test that'll install the newer
> version of psycopg2? e.g.
>
> psycopg2>=2.7.3.2; python_version >= '2.7'
>
Sorry for the typo.


> psycopg2==2.7.3.2; python_version < '2.7'
>
> Also, I think the change as written breaks the wheel generation (see the
> comment at the top of requirements.txt). Changes are required
> inpkg/pip/setup_pip.py aren't they?
>
>
If we use the latest version of pip then we can also use psycopg2 binary
package which will save us from compiling the
psycopg2
​​
source on client.
http://initd.org/psycopg/docs/install.html#binary-install-from-pypi

I have attached both patches,
Please review
​ & check which one suites to our need., I've tested both patches and its
working fine.
​


> Thanks.
>
> On Fri, Feb 9, 2018 at 10:30 AM, Murtuza Zabuawala <
> murtuza.zabuaw...@enterprisedb.com> wrote:
>
>> Hi Dave,
>>
>> Newer version of psycopg2 have drop the support for Python2.6.
>>
>> --
>> Regards,
>> Murtuza Zabuawala
>> EnterpriseDB: http://www.enterprisedb.com
>> The Enterprise PostgreSQL Company
>>
>>
>> On Fri, Feb 9, 2018 at 3:47 PM, pgAdmin 4 Jenkins <jenk...@pgadmin.org>
>> wrote:
>>
>>> See <https://jenkins.pgadmin.org/job/pgadmin4-master-python26/60
>>> 2/display/redirect?page=changes>
>>>
>>> Changes:
>>>
>>> [Dave Page] Fix quoting of function names in RE-SQL. Fixes #3060
>>>
>>> ------------------------------------------
>>> 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/pgadmin4.git
>>>  > git --version # timeout=10
>>>  > git fetch --tags --progress git://git.postgresql.org/git/pgadmin4.git
>>> +refs/heads/*:refs/remotes/origin/*
>>>  > git rev-parse origin/master^{commit} # timeout=10
>>> Checking out Revision db92907fe9b98e1bcc5ec993a2c16ca0438ac283
>>> (origin/master)
>>> Commit message: "Fix quoting of function names in RE-SQL. Fixes #3060"
>>>  > git config core.sparsecheckout # timeout=10
>>>  > git checkout -f db92907fe9b98e1bcc5ec993a2c16ca0438ac283
>>>  > git rev-list 2706d9cd8e6f98cf543e4e86afe881b8f4b571d3 # 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/jenkins442446243320062238
>>> 4.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...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 wheel==0.29.0
>>> <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#insec
>>> ureplatformwarning.
>>>   InsecurePlatformWarning
>>>   Using cached wheel-0.29.0-py2.py3-none-any.whl
>>> Collecting argparse; python_version == "2.6" (from wheel==0.29.0)
>>>   Using cached argparse-1.4.0-py2.py3-none-any.whl
>>> Installing collected packages: argparse, wheel
>>> Successfully installed argparse-1.4.0 wheel-0.29.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
>>> Ignoring Flask-HTMLmin: markers 'python_version >= "2.7"' don't match
>>> your environment
>>> Collecting Babel==2.3.4 (from -r requirements.txt (line 4))
>>> <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#insec
>>> ureplatformwarning.
>>>   InsecurePlatformWarning
>>>   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-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))
>>> 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.3.2 (from -r requirements.txt (line 30))
>>>   Downloading psycopg2-2.7.4.tar.gz (425kB)
>>>     Complete output from command python setup.py egg_info:
>>>     running egg_info
>>>     creating pip-egg-info/psycopg2.egg-info
>>>     writing pip-egg-info/psycopg2.egg-info/PKG-INFO
>>>     writing top-level names to pip-egg-info/psycopg2.egg-info
>>> /top_level.txt
>>>     writing dependency_links to pip-egg-info/psycopg2.egg-info
>>> /dependency_links.txt
>>>     writing manifest file 'pip-egg-info/psycopg2.egg-info/SOURCES.txt'
>>>
>>>     Error: pg_config executable not found.
>>>
>>>     pg_config is required to build psycopg2 from source.  Please add the
>>> directory
>>>     containing pg_config to the $PATH or specify the full executable
>>> path with the
>>>     option:
>>>
>>>         python setup.py build_ext --pg-config /path/to/pg_config build
>>> ...
>>>
>>>     or with the pg_config option in 'setup.cfg'.
>>>
>>>     If you prefer to avoid building psycopg2 from source, please install
>>> the PyPI
>>>     'psycopg2-binary' package instead.
>>>
>>>     For further information please check the 'doc/src/install.rst' file
>>> (also at
>>>     <http://initd.org/psycopg/docs/install.html>).
>>>
>>>
>>>     ----------------------------------------
>>> Command "python setup.py egg_info" failed with error code 1 in
>>> /tmp/pip-build-Cj37xM/psycopg2/
>>> ERROR: Failed to install the application 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
>
diff --git a/pkg/pip/setup_pip.py b/pkg/pip/setup_pip.py
index a330435..3f3644b 100644
--- a/pkg/pip/setup_pip.py
+++ b/pkg/pip/setup_pip.py
@@ -86,9 +86,11 @@ setup(
 
     extras_require={
         # ...
-        ":python_version<'2.7'": ["ordereddict", "Flask-Script"],
+        ":python_version<'2.7'": [
+            "ordereddict", "Flask-Script", "psycopg2==2.7.3.2"
+        ],
         ":python_version<='2.7'": ["backports.csv", "importlib"],
-        ":python_version>='2.7'": ["Flask-HTMLmin"]
+        ":python_version>='2.7'": ["Flask-HTMLmin", "psycopg2-binary"]
     },
 
     # Specify data files to be included. For Python 2.6 include them in 
MANIFEST.in
diff --git a/requirements.txt b/requirements.txt
index 2e486f3..35dc3e8 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -27,7 +27,8 @@ MarkupSafe==0.23
 ordereddict; python_version < '2.7'
 passlib==1.6.2
 pbr==1.9.1
-psycopg2>=2.7.3.2
+psycopg2-binary; python_version >= '2.7'
+psycopg2==2.7.3.2; python_version < '2.7'
 pycrypto==2.6.1
 pyrsistent==0.11.13
 python-dateutil==2.5.0
diff --git a/pkg/pip/setup_pip.py b/pkg/pip/setup_pip.py
index a330435..25a5ab0 100644
--- a/pkg/pip/setup_pip.py
+++ b/pkg/pip/setup_pip.py
@@ -86,9 +86,11 @@ setup(
 
     extras_require={
         # ...
-        ":python_version<'2.7'": ["ordereddict", "Flask-Script"],
+        ":python_version<'2.7'": [
+            "ordereddict", "Flask-Script", "psycopg2==2.7.3.2"
+        ],
         ":python_version<='2.7'": ["backports.csv", "importlib"],
-        ":python_version>='2.7'": ["Flask-HTMLmin"]
+        ":python_version>='2.7'": ["Flask-HTMLmin", "psycopg2>=2.7.3.2"]
     },
 
     # Specify data files to be included. For Python 2.6 include them in 
MANIFEST.in
diff --git a/requirements.txt b/requirements.txt
index 2e486f3..6f17b1e 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -27,7 +27,8 @@ MarkupSafe==0.23
 ordereddict; python_version < '2.7'
 passlib==1.6.2
 pbr==1.9.1
-psycopg2>=2.7.3.2
+psycopg2>=2.7.3.2; python_version >= '2.7'
+psycopg2==2.7.3.2; python_version < '2.7'
 pycrypto==2.6.1
 pyrsistent==0.11.13
 python-dateutil==2.5.0

Reply via email to