GauiStori / PyQt-Qwt

Python PyQt wrapper for Qwt6
Other
53 stars 18 forks source link

python configure.py Error: Unable to create the C++ code. #5

Closed mokusolo closed 5 years ago

mokusolo commented 5 years ago

Hi, Thank you for your work. Really appreciate that.

I want to use Qwt with PyQT5 on windows. Following your steps I met an error when running python configure.py. Just as the image below show, I added logs to watch parameters, seems that it didn't install Qwt API file.

I don't know if "self.api_dir: C:/Qt/Qt5.9.6/5.9.6/msvc2015_64\qwt" matters on my situation. But I tried to set it to path such as "C:\Qt\Qt5.9.6\5.9.6\msvc2015_64\qwt" and had no luck.

Would you please give me some advice if I missed anything. Many thanks.

image

GauiStori commented 5 years ago

Hi

Thank you for your work. Really appreciate that. Thanks

I want to use Qwt with PyQT5 on windows. Following your steps I met an error when running python configure.py. Just as the image below show, I added logs to watch parameters, seems that it didn't install Qwt API file.

I don't know if "self.api_dir: C:/Qt/Qt5.9.6/5.9.6/msvc2015_64\qwt" matters on my situation. But I tried to set it to path such as "C:\Qt\Qt5.9.6\5.9.6\msvc2015_64\qwt" and had no luck.

Would you please give me some advice if I missed anything. Many thanks.

image I don't know what is wrong. I have to admit that I am more of a Linux guy. I am trying to compile the 64 bit version of PyQt5 and go through the steps but I get problems with vcvarsall.

I recommend that you build the 32 bit version and run vcvarsall.bat from the Qt prompt. The I will let you know if and how I succeed.

Regards Gudjon

GauiStori commented 5 years ago

Hi again

What I have found out so far is that you need to run "vcvarsall.bat x64", then you need to add path to the correct 64 bit rc.exe.

Hope this helps.

/Gudjon

mokusolo commented 5 years ago

Hi, Thank you for your reply.

I did run vcvarsall.bat from Qt prompt at first and the image just didn't show it.

Have tried to build 32 bit version in a new virtual machine, still the same error.

When Qt prompt say "Error: Make sure you have a working sip on your PATH or use the --sip argument to explicitly specify a working sip." I downloaded sip-4.19.13 source code,

python configure.py
nmake
nmake install

to get through it.

Just in case, I saw files sip/ in your repo, but I haven't used it so far. Maybe needed later?

GauiStori commented 5 years ago

Hi again

When Qt prompt say "Error: Make sure you have a working sip on your PATH or use the --sip argument to explicitly specify a working sip." I downloaded sip-4.19.13 source code,


python configure.py
According to the documentation you need to do:
python configure.py --sip-module PyQt5.sip --no-tools
https://pyqt.readthedocs.io/en/latest/installation.html

But that did in fact not work either for me, now I am trying without the --no-tools option.

nmake nmake install


to get through it.
Just in case, I saw files sip/ in your repo, but I haven't used it so far. Maybe needed later?

The conclusion is that this is too difficult. I think the correct way is to make a whl package out of it so you can just do pip install pyqt-qwt

Until then. Please take the discussion to the PyQt mailing list.

Regards Gudjon

GauiStori commented 5 years ago

Hi

Now I have succeeded with the 64 bit version MSVC 2015 but it was not easy :)

I compiled both sip and PyQt5. The PIP versions did not work.

Open the Qt console. Run the correct vcvarsall.bat (for MSVC 2015 with x64 for 64 bit)

cd sip-4.19.13 python configure.py --sip-module PyQt5.sip nmake nmake install

cd PyQt5_gpl-5.11.3 python configure.py --disable QtNfc (QtNfc doesn't compile correctly)

nmake nmake install

Then you can compile PyQt-Qwt without any problems :)

Hope this helps.

Regards Gudjon

mokusolo commented 5 years ago

Hi,

Thank you soooo much for your help. You saved my day.

Compiled both sip and PyQt5 works.

With PyQT4 can simply import PyQt4.Qwt5, but seems there's still no PyQt5.Qwt5 or PyQt5.Qwt6.

Thank you for your time.

GauiStori commented 5 years ago

Hi

Compiled both sip and PyQt5 works. Nice

With PyQT4 can simply import PyQt4.Qwt5, but seems there's still no PyQt5.Qwt5 or PyQt5.Qwt6.

The PyQt4 version is not as well tested and I recommend using the PyQt5 version.

Please take a look at the qt5examples. import PyQt5.Qwt

/Gudjon

mokusolo commented 5 years ago

The PyQt4 version is not as well tested and I recommend using the PyQt5 version.

Yes, I ran your qt5examples well.

With PyQT4 can simply import PyQt4.Qwt5, but seems there's still no PyQt5.Qwt5 or PyQt5.Qwt6.

I was saying this.

I will close this issue. Thank you.

gurudevdutt commented 4 years ago

Hi GauiStori, Really appreciate your work. I have a similar error on MacOS

QT_SELECT=qt5 python3 configure.py --qwt-incdir=header/qwt --qwt-libdir=/usr/local/qwt-6.1.4/lib/qwt.framework --qmake=/opt/local/libexec/qt5/bin/qmake
~/python/PyQt-Qwt/header/qwt
Configuring Qwt 6.1.2...
Qwt 6.1.4 is being used.
The Qwt .sip files will be installed in
/Library/Frameworks/Python.framework/Versions/3.7/share/sip/PyQt5.
Qwt will be installed in
/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/PyQt5.
PyQt 5.13.1 is being used.
Qt 5.13.1 is being used.
sip 5.0.0 is being used.
The sip executable is
/Library/Frameworks/Python.framework/Versions/3.7/bin/sip5.
Qwt is being built with 'protected' redefined as 'public'.
The PEP 484 stubs will be installed in
/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/PyQt5.
Generating the C++ source for the Qwt module...
Error: Unable to create the C++ code.

I used the pip versions of PyQt5 and PyQt5-sip that were installed.

miko089 commented 3 years ago

Hi GauiStori, Really appreciate your work. I have a similar error on MacOS

QT_SELECT=qt5 python3 configure.py --qwt-incdir=header/qwt --qwt-libdir=/usr/local/qwt-6.1.4/lib/qwt.framework --qmake=/opt/local/libexec/qt5/bin/qmake
~/python/PyQt-Qwt/header/qwt
Configuring Qwt 6.1.2...
Qwt 6.1.4 is being used.
The Qwt .sip files will be installed in
/Library/Frameworks/Python.framework/Versions/3.7/share/sip/PyQt5.
Qwt will be installed in
/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/PyQt5.
PyQt 5.13.1 is being used.
Qt 5.13.1 is being used.
sip 5.0.0 is being used.
The sip executable is
/Library/Frameworks/Python.framework/Versions/3.7/bin/sip5.
Qwt is being built with 'protected' redefined as 'public'.
The PEP 484 stubs will be installed in
/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/PyQt5.
Generating the C++ source for the Qwt module...
Error: Unable to create the C++ code.

I used the pip versions of PyQt5 and PyQt5-sip that were installed.

I had similar problem, you can download sip-5.5.0, it works how it should work