Re: Qt runtime issue on python 3 + patch - Mailing list pgadmin-hackers

From Surinder Kumar
Subject Re: Qt runtime issue on python 3 + patch
Date
Msg-id CAM5-9D_zFmbZiA=WR9tgXKa9cHVLpsXpPwCi3mgkrMBNKE4=GQ@mail.gmail.com
Whole thread Raw
In response to Re: Qt runtime issue on python 3 + patch  (Surinder Kumar <surinder.kumar@enterprisedb.com>)
List pgadmin-hackers
Hi Dave,

On Wed, Jun 15, 2016 at 10:48 AM, Surinder Kumar <surinder.kumar@enterprisedb.com> wrote:
On Wed, Jun 15, 2016 at 10:46 AM, Ashesh Vashi <ashesh.vashi@enterprisedb.com> wrote:
Hi Surinder,

On Sat, Jun 11, 2016 at 11:08 PM, Dave Page <dpage@pgadmin.org> wrote:
Hi

On Sat, Jun 11, 2016 at 2:17 PM, Asser Schrøder Femø
<asser.femoe@gmail.com> wrote:
> Hello pgadmin hackers,
>
> I checked out the newly released beta and wanted to see how easy it would be
> to package for Arch Linux, but ran into this error with the Qt runtime:
>
> Python path:
> "/home/asser/.virtualenvs/pgadmin4-python34/lib/python3.4/site-packages;/home/asser/src/pgadmin4-beta1/web"
> Webapp path:  "/home/asser/projects/pgadmin4/web/pgAdmin4.py"
> Traceback (most recent call last):
>   File "/home/asser/projects/pgadmin4/web/pgAdmin4.py", line 23, in <module>
>     import config
>   File "/home/asser/projects/pgadmin4/web/config.py", line 255, in <module>
>     from config_local import *
>   File "<frozen importlib._bootstrap>", line 2237, in _find_and_load
>   File "<frozen importlib._bootstrap>", line 2222, in
> _find_and_load_unlocked
>   File "<frozen importlib._bootstrap>", line 2164, in _find_spec
>   File "<frozen importlib._bootstrap>", line 1940, in find_spec
>   File "<frozen importlib._bootstrap>", line 1914, in _get_spec
>   File "<frozen importlib._bootstrap>", line 2049, in find_spec
>   File "<frozen importlib._bootstrap>", line 53, in _path_join
>   File "<frozen importlib._bootstrap>", line 53, in <listcomp>
> TypeError: 'str' does not support the buffer interface
> "Failed to launch the application server, server thread exiting."
>
> According to Stackoverflow, exchanging PyBytes_FromString with
> PyUnicode_DecodeFSDefault when building the pythonpath makes it work again
> (see attached diff). I don't know why though, perhaps somebody will be able
> to enlighten me :-)
>
> Same issue and fix on Python 3.4 and 3.5 on Arch Linux. I don't know if the
> patch has any complications on other platforms.

If I'm reading the docs right, PyUnicode_DecodeFSDefault was added in
Python 3.3, so I've tweaked the patch a little (see attached). I know
the current code has worked on some 3.x versions but I don't know
which exactly as I don't currently have them here, but I'll bet it was
3.2 or below. Ashesh - can you have the most appropriate person from
the team check this works on 3.0 through 3.5 please?
Can you please take a look at it?
Sure. 

Following is the analaysis of compiling runtime environment on Ubuntu14.04 with various python versions.

1. When compiled with Python-3.2

It compiled successfully but on running pgAdmin4 executable it shows syntax error:

(py32)surinder@ubuntu:~/Developments/pgadmin4/runtime$ echo $PYTHONPATH
:/home/surinder/.virtualenvs/py32/lib:/home/surinder/.virtualenvs/py32/lib/python3.2/site-packages

(py32)surinder@ubuntu:~/Developments/pgadmin4/runtime$ ./pgAdmin4 
Python path:  "" 
Webapp path:  "/home/surinder/Developments/pgadmin4/web/pgAdmin4.py" 
Traceback (most recent call last):
  File "/home/surinder/Developments/pgadmin4/web/pgAdmin4.py", line 24, in <module>
    from pgadmin import create_app
  File "/home/surinder/Developments/pgadmin4/web/pgadmin/__init__.py", line 254
    if response.content_type == u'text/html; charset=utf-8':
                                                          ^
SyntaxError: invalid syntax
"Failed to launch the application server, server thread exiting."

I got same error when I run pgAdmin4 with python installed from repository and with python compiled from source.
Upon further investigation it seems to be encoding issue.

2. pgAdmin4 compiled and run successfully on Python-3.3 & 3.4. 

I didn't face the error @asser is facing while running pgAdmin4.

--

Thanks & Regards,

Ashesh Vashi
EnterpriseDB INDIA: Enterprise PostgreSQL Company



> Thanks for building the successor to pgAdmin3! It already looks good and I'm
> looking forward to further refinement. Hopefully I'll be able to contribute
> a bit along the way.

Cool - many thanks!

--
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake

EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company


--
Sent via pgadmin-hackers mailing list (pgadmin-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgadmin-hackers




pgadmin-hackers by date:

Previous
From: Dave Page
Date:
Subject: Re: PATCH: To fix the issue using complex password
Next
From: Dave Page
Date:
Subject: pgAdmin 4 commit: Fix python detection on Linux/Mac.