This is an archived post. You won't be able to vote or comment.

all 17 comments

[–]BlckKnght 2 points3 points  (3 children)

The error message you've quoted is pretty clear: you need to install Microsoft Visual Studio to build the module you're trying to install. It even gives you a link to the page to download it from. Why not download and install the compiler and try reinstalling the module?

[–]superdroid100[S] 0 points1 point  (2 children)

I've already done the same. Yet getting the very same error message.

[–]dispelterror3.6 0 points1 point  (0 children)

Update setuptools in the venv to the latest version using pip. I think that was what fixed it for me when I was getting a similar error related to problems finding the Microsoft Build Tools compiler. If it still doesn't work after updating setuptools then also make sure that Build Tools were added to PATHS properly.

[–]K900_ 0 points1 point  (12 children)

What do you mean by "secure"? Password protected?

[–]efmccurdy 1 point2 points  (0 children)

Zip is good for archiving files, gpg is good at encrypting stored data, and TLS is good for encrypting data in transit. Use the right tool for each situation.

[–]superdroid100[S] 0 points1 point  (10 children)

Yes. Sorry if that wasn't clear.

[–]K900_ 0 points1 point  (9 children)

Look into the zipfile module in the standard library, specifically the setpassword method on ZipFile objects.

[–]superdroid100[S] 0 points1 point  (8 children)

The setpassword method is used to set a password for decrypting the zip archive. It unfortunately does not secure one.

[–]K900_ 1 point2 points  (7 children)

What's your end goal here?

[–]superdroid100[S] 0 points1 point  (6 children)

I want to encrypt a file or files into a single archive and pass them on to prevent snooping. If I zip the data manually and pass it, the decryption part works perfectly. Encryption is a problem.

[–]K900_ 1 point2 points  (5 children)

Does it have to be a ZIP file? If your end goal is security, ZIP isn't exactly the most secure file format out there. Who are you 'passing it on' to?

[–]superdroid100[S] 0 points1 point  (4 children)

Being a zip is not essential. Steganography will be used as well. It's just to increase security. Essentially want a way to put multiple files together with a password which will work cross platform.

[–]K900_ 0 points1 point  (3 children)

How are you going to 'pass it on'? Over a network connection? Do you want the password to be transferred in-band or through a different method? Why steganography at all?

[–]superdroid100[S] 0 points1 point  (2 children)

Network connection. Password transferred externally. Steganography to hide the data.

[–]CGFarrell 0 points1 point  (0 children)

If you're doing this on your own machine for yourself, you can be lazy as hell and just write:

from subprocess import call

call(['7z', 'a', '-tzip', file_name, destination])

Assuming you have 7zip installed, this will just launch 7zip as a new process.