-
Notifications
You must be signed in to change notification settings - Fork 0
PakaWarehouses Manual
Wersja Python'a z której korzystałem do implementacji to 3.6.8 ale na wydaje mi się że większość innych wersji od 3.0 w górę będzie równie dobra
Aby uruchomić Warehouses należy sklonować repo
Kolejnym krokiem jest podpięcie swojej bazy postressql. Ja używam bazy Postgressql w wersji 14 postawionej lokalnie na PC. Aby podpiąć swoja baze należy przejść do pliku DjangoRestApisPostgreSQL\DjangoRestApisPostgreSQL\settings.py do linii 80 i podmienić nazwę swojej bazy, użytkownika i hasło. Dla mnie wygląda to tak:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'postgres',
'USER': 'postgres',
'PASSWORD': '1234',
'HOST': '127.0.0.1',
'PORT': '5432',
}
}
Kolejnym krokiem jest przejście do miejsca gdzie znajduje się plik manage.py, czyli cd DjangoRestApisPostgreSQL
Teraz chcemy wykonąć migracje bazy, czyli stworzenie wszystkich tabel, relacji itp. Robimy to za pomocą polecenia "python manage.py makemigrations". Po wykonaniu tego polecenia NIE MAMY JESZCZE zmigorwanej bazy. Mamy dopiero utworzony plik do wykonania tej migracji
Aby wykonać taką migracje nalezy wykonać polecenie "python manage.py migrate". Po tym kroku powinnyśmy mieć już PUSTĄ BAZE. Aby dodać rekordy należy ręcznie wprowadzić inserty które są w katalogu "sql" w repo. Można to zrobić np za pomocą "pg Admin"
Teraz tak na prawdę mamy juz wszystko do uruchomienia serwera, a robimy to za pomocą polecenia "python manage.py runserver XXXX", gdzie XXXX to numer portu, czyli na przykład: "python manage.py runserver 8080"
Na 99% będą wyświetlały się błędy typu "No module named ******", gdzie ****** to nazwa jakiegoś modułu/pakietu. Po prostu instalując czystego pythona mamy go bardzo okrojonego. Aby dodać do niego jakieś nowe funkcjonalności należy pobrać/zainstalować sobie dodatkowe pakiety. Robimy to poprzez polecenie pip install ***** lub pip install *****==2.8.21 jeśli chcemy konkretnie zainstalować pakiet ***** w konkretnej wersji 2.8.21.
UWAGA, WYJĄTEK!!!! Dla błędu "No module jwt" używamy polecenia "pip intstall PyJwt" a nie "pip intstall jwt"
Z reguły wystarczy podawanie samej nazwy czyli aby zainstalować przykładowo pakiet pandas należy użyć polecenia "pip install pandas", ale jak ktoś by bardzo chciał to poniżej jest lista moich wszystkich pakietów i ich wersji (nie wszystkie pakiety są potrzebne do tego projektu, są to po prostu wszystkie moje pakiety)
PS C:\Users\micha> python -m pip list
Package Version
absl-py 0.12.0
alabaster 0.7.12
amqp 5.0.6
appdirs 1.4.4
asgiref 3.4.1
astunparse 1.6.3
audioread 2.1.9
Babel 2.9.1
backcall 0.2.0
billiard 3.6.4.0
branca 0.4.2
cached-property 1.5.2
cachetools 4.2.2
cassandra-driver 3.25.0
cdata 0.0.1
celery 5.1.2
certifi 2020.12.5
cffi 1.15.0
chardet 4.0.0
click 7.1.2
click-didyoumean 0.3.0
click-plugins 1.1.1
click-repl 0.2.0
colorama 0.4.4
cycler 0.10.0
Cython 0.29.21
dataclasses 0.8
DateTime 4.3
decorator 5.0.9
Django 3.2.8
django-cors-headers 3.10.0
djangorestframework 3.12.4
dnspython 2.1.0
docutils 0.17.1
doxypy 0.4.1
eventlet 0.32.0
fasttext 0.9.2
ffmpeg 1.4
filelock 3.3.1
Flask 2.0.1
Flask-Cors 3.0.10
folium 0.12.1
future 0.18.2
gast 0.3.3
gensim 4.0.1
geomet 0.2.1.post1
google-auth 1.30.1
google-auth-oauthlib 0.4.4
google-pasta 0.2.0
graphviz 0.16
greenlet 1.1.2
grpcio 1.38.0
h5py 2.10.0
happybase 1.2.0
hbase-python 0.5
huggingface-hub 0.0.19
idna 2.10
imagesize 1.2.0
importlib-metadata 4.0.1
ipykernel 5.5.5
ipython 7.16.1
ipython-genutils 0.2.0
itsdangerous 2.0.1
jedi 0.18.0
Jinja2 3.0.1
joblib 1.0.1
jupyter-client 6.1.12
jupyter-core 4.7.1
kazoo 2.8.0
Keras 2.4.3
Keras-Preprocessing 1.1.2
kiwisolver 1.3.1
kombu 5.1.0
lark-parser 0.12.0
librosa 0.8.1
llvmlite 0.36.0
lockfile 0.12.2
Markdown 3.3.4
MarkupSafe 2.0.1
matplotlib 3.3.4
neo4j 4.3.1
nltk 3.6.2
numba 0.53.1
numpy 1.18.5
oauthlib 3.1.0
opt-einsum 3.3.0
packaging 20.9
pandas 1.1.5
parso 0.8.2
pickleshare 0.7.5
pid 3.0.4
pika 1.2.0
Pillow 8.2.0
pip 21.3.1
ply 3.11
pooch 1.5.2
prompt-toolkit 3.0.19
protobuf 3.17.1
psutil 5.8.0
psycopg2 2.9.1
pure-sasl 0.6.2
pyArango 1.3.5
pyasn1 0.4.8
pyasn1-modules 0.2.8
pybind11 2.8.0
pycparser 2.20
pydgraph 21.3.0
pydub 0.25.1
Pygments 2.9.0
PyJWT 2.1.0
pymongo 3.11.4
pyorient 1.5.5
pyparsing 2.4.7
pystempel 1.2.0
python-arango 7.1.0
python-daemon 2.3.0
python-dateutil 2.8.1
python-speech-features 0.6
pytz 2021.1
pywin32 301
PyYAML 5.4.1
pyzmq 22.1.0
regex 2021.4.4
requests 2.25.1
requests-oauthlib 1.3.0
requests-toolbelt 0.9.1
required 0.4.0
resampy 0.2.2
rsa 4.7.2
sacremoses 0.0.46
scikit-learn 0.24.2
scikit-multilearn 0.2.0
scipy 1.5.4
service 0.6.0
setproctitle 1.2.2
setuptools 57.0.0
setuptools-scm 6.0.1
six 1.16.0
sklearn 0.0
smart-open 5.1.0
snowballstemmer 2.1.0
sortedcontainers 2.4.0
SoundFile 0.10.3.post1
Sphinx 4.0.2
sphinxcontrib-applehelp 1.0.2
sphinxcontrib-devhelp 1.0.2
sphinxcontrib-htmlhelp 2.0.0
sphinxcontrib-jsmath 1.0.1
sphinxcontrib-qthelp 1.0.3
sphinxcontrib-serializinghtml 1.1.5
sqlparse 0.4.2
stop-words 2018.7.23
tensorboard 2.5.0
tensorboard-data-server 0.6.1
tensorboard-plugin-wit 1.8.0
tensorflow 2.3.2
tensorflow-estimator 2.3.0
termcolor 1.1.0
threadpoolctl 2.1.0
thrift 0.13.0
thriftpy2 0.4.14
tokenizers 0.10.3
toml 0.10.2
torch 1.9.1
torchaudio 0.9.1
tornado 6.1
tqdm 4.61.0
traitlets 4.3.3
transformers 4.11.3
typing-extensions 3.10.0.0
urllib3 1.26.4
vine 5.0.0
wcwidth 0.2.5
Werkzeug 2.0.1
wheel 0.36.2
wrapt 1.12.1
xlrd 2.0.1
xlwt 1.3.0
zipp 3.4.1
zope.interface 5.4.0
Januszex drim tim 2021