mirror of
https://github.com/pyenv/pyenv.git
synced 2025-11-16 15:23:53 -05:00
add page
73
Common-build-problems.md
Normal file
73
Common-build-problems.md
Normal file
@@ -0,0 +1,73 @@
|
|||||||
|
## zlib
|
||||||
|
|
||||||
|
you need to install zlib-devel and rebuild Python.
|
||||||
|
|
||||||
|
* Ubuntu: `sudo apt-get install libssl-dev zlib1g-dev`
|
||||||
|
|
||||||
|
**NOTE**: `libssl-dev` is required when compiling Python, installing `libssl-dev` will actually install `zlib1g-dev`, this will help to eliminate subsequent **openssl (LoadError)** errors when running commands provided by RubyGems (for example vagrant and vmc), which leads to uninstall and re-install Python versions (installed before installing `libssl-dev`).
|
||||||
|
|
||||||
|
* Fedora: `yum install zlib-devel`
|
||||||
|
|
||||||
|
|
||||||
|
## Readline support
|
||||||
|
|
||||||
|
Install `libreadline-dev` first before running `python-build`
|
||||||
|
|
||||||
|
* Ubuntu: `sudo apt-get install libreadline-dev`
|
||||||
|
* Fedora: `yum install readline-devel`
|
||||||
|
* Mac:
|
||||||
|
```bash
|
||||||
|
brew install readline
|
||||||
|
brew link readline
|
||||||
|
pyenv install 2.7.5
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
## Removing a ruby version
|
||||||
|
|
||||||
|
rm -rf .pyenv/versions/2.7.5
|
||||||
|
|
||||||
|
## Installing a 32 bit ruby on 64 bit Mac OS X (this will *not* work on Linux)
|
||||||
|
|
||||||
|
CONFIGURE_OPTS="--with-arch=i386" CFLAGS="-arch i386" LDFLAGS="-arch i386" python-build options
|
||||||
|
|
||||||
|
## Installing a system-wide Python
|
||||||
|
If you want to install a Python interpreter that's available to all users and system scripts (no pyenv), use `/usr/local/` as the install path. For example:
|
||||||
|
|
||||||
|
sudo python-build 3.3.2 /usr/local/
|
||||||
|
|
||||||
|
## Make your rubies a little faster
|
||||||
|
You can set your CFLAGS to accepted safe values to help get a little more speed.
|
||||||
|
|
||||||
|
CFLAGS='-g -O2'
|
||||||
|
|
||||||
|
## Build failed - bad interpreter: Permission denied
|
||||||
|
|
||||||
|
If you encounter this error while installing ruby and your server is a VPS, the **/tmp** directory where python-build download and compile the packages is probably mounted as **noexec**. You can check with your hosting provider if wether they provide a way to bypass this protection.
|
||||||
|
|
||||||
|
If the answer is no, just set the **$TMPDIR** environment variable to wherever you have a write + execution rights. For example:
|
||||||
|
|
||||||
|
export TMPDIR="$HOME/src"
|
||||||
|
|
||||||
|
Please note you'll have to do it every time you'll want to install a new version of ruby unless you write this command in your `~/.bashrc`.
|
||||||
|
|
||||||
|
## Build failed
|
||||||
|
|
||||||
|
If you've got something like that:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ pyenv install 2.7.5
|
||||||
|
Downloading http://pyyaml.org/download/libyaml/yaml-0.1.4.tar.gz...
|
||||||
|
Installing yaml-0.1.4...
|
||||||
|
|
||||||
|
BUILD FAILED
|
||||||
|
```
|
||||||
|
please, be sure to have "make" installed (```$ sudo apt-get install make```). On Ubuntu Server, by default, it doesn't.
|
||||||
|
|
||||||
|
## ruby-build: definition not found
|
||||||
|
|
||||||
|
To update your python-build definitions:
|
||||||
|
|
||||||
|
If you have python-build installed as an pyenv plugin:
|
||||||
|
|
||||||
|
$ cd ~/.pyenv/plugins/python-build && git pull
|
||||||
@@ -1,4 +1,5 @@
|
|||||||
* [[FAQ|Home]]
|
* [[FAQ|Home]]
|
||||||
|
* [[Common build problems]]
|
||||||
* [[pyenv plugins|Plugins]]
|
* [[pyenv plugins|Plugins]]
|
||||||
* [[Deploying with pyenv]]
|
* [[Deploying with pyenv]]
|
||||||
* [[Understanding binstubs]]
|
* [[Understanding binstubs]]
|
||||||
|
|||||||
Reference in New Issue
Block a user