
K.Lalkovski
-
Posts
87 -
Joined
-
Last visited
Content Type
Profiles
Forums
Calendar
Articles
Marionette
Store
Posts posted by K.Lalkovski
-
-
Hi @Paolo,
There are two approaches to resolve the problem:
First approach: Replace VW2022 SP1(619242) with the new VW 2022 SP2(622317) .
Second, if you prefer to deal with the existing VW2022 SP1(619242)
Please, find the attached file scripts.zip.
On the problematic PC:
1. Go to <VW App folder>\Python39\Scripts2.Delete the contents of this folder.
3.Unzip the contents of the scripts.zip file
4.Run VW and try to install PIL.
You should be able to install the Pillow package and any other package.
Let me know if this works for you!
-
2
-
-
Hi @Paolo,
Please, take a look at the attached video. What is the number of the Autobuild 2022 you are testing on windows? Give me also details of your system configuration(windows version, processor). The warning on Mac will be removed in 2022 SP3. Could you prepare a video file for me to see what exactly happens on your machine?
-
1
-
-
13 hours ago, Paolo said:
Hello @K.Lalkovski,
here we are again… still the
Marionette.VerifyOrGetLib()
does not work on Windows, Vectorworks 2022, importing Pillow module.
Here below the code I am using, with the appropriate wheel files. It works on macs (arm or x86), but does not install nothing on Windows.
Previously, with Vectorworks 2021, it worked…
Can you address me (us) to a fix, even creating a temporary alternative function to the VerifyOrGetLib()?
Also I am still getting the same warning (see post dated january 5 in this same thread) after the (correct) module installation on mac.
import platform import Marionette arm64 = ('arm64' in platform.machine()) (major, minor, maintenance, platform, buildNum) = vs.GetVersionEx() #vectorworks 2022 has python 3.9.2 if platform == 2: PIL = 'https://files.pythonhosted.org/packages/20/ec/15a263f2c65d71cf62aa767f774c2381077e07beb1e9309a94461ec1cd29/Pillow-8.4.0-cp39-cp39-win_amd64.whl' else: PIL = 'https://files.pythonhosted.org/packages/32/25/32889d2b7c577b5a454dd12194b2ecb9d87d4b49c15c278dc99bc8ff5d2e/Pillow-8.4.0-cp39-cp39-macosx_10_10_x86_64.whl' #for mac M1 if arm64: PIL = 'https://files.pythonhosted.org/packages/7d/88/a59b397f030e131accd4ca5a2ad7f1ac62347e6f4aadbe3dabd329aaded9/Pillow-8.4.0-cp39-cp39-macosx_11_0_arm64.whl' result = Marionette.VerifyOrGetLib('PIL', PIL) if result: vs.AlrtDialog('PIL module is correctly installed:\n', PIL) else: #PIL not installed vs.AlertCritical('Attention!','It has been not possible to install the PIL module.')
Hi @Paolo,
Let me check and I'll get back to you later today.
-
1
-
-
Hi TBexon,
if you run this on 2022 it is going to work(returns true):localized_True_Bool = vs.EvalStr(vs.Handle(0), "1=1") # Gets Localised True Bool
vs.AlrtDialog(str(localized_True_Bool))/*I removed type() here*/Regards,
Konstantin
-
On 10/31/2021 at 10:35 AM, tbexon said:On 10/31/2021 at 10:35 AM, tbexon said:
Hello All
Some potential 2022 funkyness. I use the EvalStr function to get the localized string for "True" to then use this to compare to the results from Checkboxes using GetRField. (For more information on the method/reasoning see the below thread where @JBenghiatvery kindly showed me this method in the first place)
Since migrating my plug ins to VW2022 I have noticed that EvalStr is now returning a boolean not a string, and thus causing all my comparisons to fail.
localized_True_Bool = vs.EvalStr(vs.Handle(0), "1=1") # Gets Localised True Bool vs.AlrtDialog(str(type(localized_True_Bool)))
I have tried the above test script in both 2021 and 2022. in 2021 it returns the Expected results of the String "True", however in 2022 it returns a Boolean of True.
My questions are:
A) Can anyone else replicate this and get the same results?
B) Is this working as intended, or a bug? I can't see anything on the Function Reference suggesting that this has been changed in 2022, however maybe @Vlado or @K.Lalkovskimight be able to shed some light?
Thanks in advance!
-
@tbexon I asked my colleagues @Yasen Aleksiev to look into this and answer you.
-
1
-
-
38 minutes ago, Paolo said:
Hello @K.Lalkovski ,
I am still getting the same warning trying to install Pillow module (you said should have been fixed…).
The module is correctly installed, but this warning is presented as a script error and users of my PlumBob plugin gets disoriented.
I am running Vectorworks 2021 R1 (Build 563191) on MacOS 10.14.6.
Hello @Paolo
I have been working on this issue when I have a good result I'll let you know.
-
@tbexon
Where do you receive this behavior om Mac OS or Windows? -
@Paolo It is a warning, not an error. The pip module is part of the current python distribution with Vectorworks, both on PC and Mac. The distribution is embedded into the Vectorworks application bundle on Mac. On Win it is just a folder on the disk. On Mac, the pip module cannot be directly accessed as this can be done on PC. This line of code is used to access the embedded pip on Mac ret_code = pip.main(['install', destination,'-q','--target', cmd]) and it is the reason for the warning. In the next version of VerifyOrGetLib, I'll fix the line in order to remove that warning.
-
2
-
-
@tbexon The fix for pip is now included in VW 2020 SP5.
-
2
-
-
@tbexon Thank you for your reply. It's not about the versions,
I've sent you this pip3 copy just to see if my suspicion of what is going wrong is correct and my fix is working.
-
@Paolo The pip3 problem is fixed. You just need a 2021 version with a build number bigger than 560093.
-
1
-
-
@tbexon Could please try this pip3.exe in the attached archive pip3.zip
1.Goto VW folder\Python35\Scripts
2.rename old pip3.exe to pip3old.exe
3.unzip new pip3.exe.
4.Start VW and try on your machine the script above that was giving the error "SyntaxError: Non-UTF-8 code starting with '\x90'" in file D:\Program Files\Vectorwork". Report the results here.If there is no more such a syntax error try to download PIL for Python 3.5 via Marioentte.VerifyOrgetLib and let me kknow about the result.
-
1
-
-
@tbexon Thank you for the info. Could you please execute this script as well?
import sys
print("sys.getwindowsversion = ",sys.getwindowsversion()) -
@Paolo If possible let the user execute the following script from the command line. Goes to Python folder of VW(Python35).
import sys
import locale
print("sys.stdin.encoding = ", sys.stdin.encoding)
print("locale.getpreferredencoding = ",locale.getpreferredencoding())
print("locale.getpreferredencoding = ",locale.getpreferredencoding(False))
print("sys.getdefaultencoding = ",sys.getdefaultencoding())
print("sys.getfilesystemencoding = ",sys.getfilesystemencoding()) -
@Paolo ,
Could you please report the exact number of the build 2020 sp4 you are using?
Could I have also any available information about windows (version, build), where the problem with pip 3 occurs.
Do you have any other python installation on your PC ?
I have tested your file Download PIL.vwx with 2020 SP4(551884), everything seems OK.
I have Windows 10 Pro, build 1903.
Please, take a look at the attached video.
18 hours ago, tbexon said:cmdpip, 'pip list'
-
1
-
-
Please, could you try attached file.The links to wheel files were outdated, now they are fixed.
-
2
-
Python scripts: lack of User Interaction (vs.GetPt, vs.TrackObjectN, etc.), how is the state now?
in Python Scripting
Posted
Hi _c_,
I'll check why user interactions does not work.
Regards,
Konstantin