forked from pandas-dev/pandas
-
Notifications
You must be signed in to change notification settings - Fork 0
/
setup_env.sh
executable file
·161 lines (129 loc) · 3.94 KB
/
setup_env.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
#!/bin/bash -e
# edit the locale file if needed
if [[ "$(uname)" == "Linux" && -n "$LC_ALL" ]]; then
echo "Adding locale to the first line of pandas/__init__.py"
rm -f pandas/__init__.pyc
SEDC="3iimport locale\nlocale.setlocale(locale.LC_ALL, '$LC_ALL')\n"
sed -i "$SEDC" pandas/__init__.py
echo "[head -4 pandas/__init__.py]"
head -4 pandas/__init__.py
echo
fi
MINICONDA_DIR="$HOME/miniconda3"
if [ -d "$MINICONDA_DIR" ]; then
echo
echo "rm -rf "$MINICONDA_DIR""
rm -rf "$MINICONDA_DIR"
fi
echo "Install Miniconda"
UNAME_OS=$(uname)
if [[ "$UNAME_OS" == 'Linux' ]]; then
if [[ "$BITS32" == "yes" ]]; then
CONDA_OS="Linux-x86"
else
CONDA_OS="Linux-x86_64"
fi
elif [[ "$UNAME_OS" == 'Darwin' ]]; then
CONDA_OS="MacOSX-x86_64"
else
echo "OS $UNAME_OS not supported"
exit 1
fi
if [ "${TRAVIS_CPU_ARCH}" == "arm64" ]; then
CONDA_URL="https://github.com/conda-forge/miniforge/releases/download/4.8.5-1/Miniforge3-4.8.5-1-Linux-aarch64.sh"
else
CONDA_URL="https://repo.continuum.io/miniconda/Miniconda3-latest-$CONDA_OS.sh"
fi
wget -q $CONDA_URL -O miniconda.sh
chmod +x miniconda.sh
# Installation path is required for ARM64 platform as miniforge script installs in path $HOME/miniforge3.
./miniconda.sh -b -p $MINICONDA_DIR
export PATH=$MINICONDA_DIR/bin:$PATH
echo
echo "which conda"
which conda
echo
echo "update conda"
conda config --set ssl_verify false
conda config --set quiet true --set always_yes true --set changeps1 false
conda install pip conda # create conda to create a historical artifact for pip & setuptools
conda update -n base conda
echo "conda info -a"
conda info -a
echo
echo "set the compiler cache to work"
if [ -z "$NOCACHE" ] && [ "${TRAVIS_OS_NAME}" == "linux" ]; then
echo "Using ccache"
export PATH=/usr/lib/ccache:/usr/lib64/ccache:$PATH
GCC=$(which gcc)
echo "gcc: $GCC"
CCACHE=$(which ccache)
echo "ccache: $CCACHE"
export CC='ccache gcc'
elif [ -z "$NOCACHE" ] && [ "${TRAVIS_OS_NAME}" == "osx" ]; then
echo "Install ccache"
brew install ccache > /dev/null 2>&1
echo "Using ccache"
export PATH=/usr/local/opt/ccache/libexec:$PATH
gcc=$(which gcc)
echo "gcc: $gcc"
CCACHE=$(which ccache)
echo "ccache: $CCACHE"
else
echo "Not using ccache"
fi
echo "source deactivate"
source deactivate
echo "conda list (root environment)"
conda list
# Clean up any left-over from a previous build
conda remove --all -q -y -n pandas-dev
echo
echo "conda env create -q --file=${ENV_FILE}"
time conda env create -q --file="${ENV_FILE}"
if [[ "$BITS32" == "yes" ]]; then
# activate 32-bit compiler
export CONDA_BUILD=1
fi
echo "activate pandas-dev"
source activate pandas-dev
# Explicitly set an environment variable indicating that this is pandas' CI environment.
#
# This allows us to enable things like -Werror that shouldn't be activated in
# downstream CI jobs that may also build pandas from source.
export PANDAS_CI=1
echo
echo "remove any installed pandas package"
echo "w/o removing anything else"
conda remove pandas -y --force || true
pip uninstall -y pandas || true
echo
echo "remove postgres if has been installed with conda"
echo "we use the one from the CI"
conda remove postgresql -y --force || true
echo
echo "remove qt"
echo "causes problems with the clipboard, we use xsel for that"
conda remove qt -y --force || true
echo
echo "conda list pandas"
conda list pandas
# Make sure any error below is reported as such
echo "[Build extensions]"
python setup.py build_ext -q -j2
echo "[Updating pip]"
python -m pip install --no-deps -U pip wheel setuptools
echo "[Install pandas]"
python -m pip install --no-build-isolation -e .
echo
echo "conda list"
conda list
# Install DB for Linux
if [[ -n ${SQL:0} ]]; then
echo "installing dbs"
mysql -e 'create database pandas_nosetest;'
psql -c 'create database pandas_nosetest;' -U postgres
else
echo "not using dbs on non-linux Travis builds or Azure Pipelines"
fi
echo "done"