-
-
Notifications
You must be signed in to change notification settings - Fork 1.6k
/
install.sh
executable file
·114 lines (88 loc) · 3.22 KB
/
install.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
#!/bin/bash -ex
# Auxiliary functions
install_spyder_kernels() {
echo "Installing subrepo version of spyder-kernels in "$1"..."
pushd external-deps/spyder-kernels
if [ "$OS" = "win" ]; then
# `conda run` fails on Windows without a clear reason
/c/Miniconda/envs/"$1"/python -m pip install -q .
else
conda run -n "$1" python -m pip install -q .
fi
popd
}
# Install gdb
if [ "$USE_GDB" = "true" ]; then
micromamba install gdb -c conda-forge -q -y
fi
# Install dependencies
if [ "$USE_CONDA" = "true" ]; then
# Install dependencies per operating system
if [ "$OS" = "win" ]; then
micromamba install --file requirements/windows.yml
elif [ "$OS" = "macos" ]; then
micromamba install --file requirements/macos.yml
else
micromamba install --file requirements/linux.yml
fi
# Install test dependencies
micromamba install --file requirements/tests.yml
# To check our manifest
micromamba install check-manifest -q -y
# Remove pylsp before installing its subrepo below
micromamba remove --force python-lsp-server python-lsp-server-base -y
# Pin Jedi to 0.19.1 because test_update_outline fails frequently with
# 0.19.2, although it passes locally
if [ "$OS" = "linux" ]; then
micromamba install jedi=0.19.1
fi
else
# Update pip and setuptools
python -m pip install -U pip setuptools wheel build
# Install Spyder and its dependencies from our setup.py
pip install -e .[test]
# Install qtpy from Github
pip install git+https://github.com/spyder-ide/qtpy.git
# Install QtAwesome from Github
pip install git+https://github.com/spyder-ide/qtawesome.git
# To check our manifest
pip install -q check-manifest
# Pin Jedi to 0.19.1 because test_update_outline fails frequently with
# 0.19.2, although it passes locally
if [ "$OS" = "linux" ]; then
pip install jedi==0.19.1
fi
fi
# Install subrepos from source
python -bb -X dev install_dev_repos.py --not-editable --no-install spyder spyder-remote-services
# Install Spyder to test it as if it was properly installed.
python -bb -X dev -m build
python -bb -X dev -m pip install --no-deps dist/spyder*.whl
if [ "$SPYDER_TEST_REMOTE_CLIENT" = "true" ]; then
pip install pytest-docker
else
# Install boilerplate plugin
pushd spyder/app/tests/spyder-boilerplate
pip install --no-deps -q -e .
popd
# Adjust PATH on Windows so that we can use conda below. This needs to be done
# at this point or the pip slots fail.
if [ "$OS" = "win" ]; then
PATH=/c/Miniconda/Scripts/:$PATH
fi
# Create environment for Jedi environment tests
conda create -n jedi-test-env -q -y python=3.9 flask
install_spyder_kernels jedi-test-env
conda list -n jedi-test-env
# Create environment to test conda env activation before launching a kernel
conda create -n spytest-ž -q -y -c conda-forge python=3.9
install_spyder_kernels spytest-ž
conda list -n spytest-ž
# Install pyenv on Linux systems
if [ "$RUN_SLOW" = "false" ]; then
if [ "$OS" = "linux" ]; then
curl https://pyenv.run | bash
$HOME/.pyenv/bin/pyenv install 3.8.1
fi
fi
fi