Python 3.3 and Installing PyOpenSSL on a Mac

2019-01-06 23:47发布

I have python 3.3 working and can run some basic code (like print("Hello World")). Next I need so get PyOpenSSL set up. I've downloaded and unzipped the pyOpenSSL-master.zip from their github site, but I have no idea what to do with it next.

I moved the unzipped directory into /libs, cd into /libs/pyopenssl-master and did python setup.py install --user. But that failed with

/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python: can't open file 'setup.py': [Errno 2] No such file or directory

Other than the directory not existing, which I assume that the installer would create, the bigger problem is that it appears to be trying to write to the python 2.7 folder and I'm using 3.3.

If you can't tell, I'm pretty much out of my element. I've never installed a Python library before and I'm also not great with OSX installations. Can anyone help me get this set up? Thanks.

1条回答
太酷不给撩
2楼-- · 2019-01-07 00:33

Here's how you can install pyOpenSSL on OS X (or just about any other platform):

  1. Install pip
    1. Install it using a package for your operating system. For example, if you use brew, brew install pip.
    2. If there is no package for your operating system, download https://raw.github.com/pypa/pip/master/contrib/get-pip.py
    3. Run it (probably as root, unfortunately): sudo python get-pip.py
  2. Install virtualenv using pip - pip install --user virtualenv
  3. Create a virtualenv to install pyOpenSSL into - virtualenv ~/Environments/pyOpenSSL-stuff
  4. Activate the virtualenv - . ~/Environments/pyOpenSSL-stuff/bin/activate
  5. Install pyOpenSSL with pip - pip install pyopenssl

At this point you have pyOpenSSL installed in a virtualenv. Any time you want to use pyOpenSSL you'll need to activate the virtualenv. I suggest that you actually create a virtualenv for each project of yours that you work on and install all of the necessary dependencies for each project into that project's virtualenv.

This does result in a lot of duplicate installations of packages. Unfortunately this seems to be the state of the art for Python package installation. Fortunately most Python packages are rather small.

查看更多
登录 后发表回答