DairyBrainUtils 是一個 PyPI 包,具有一些與 PostgreSQL 資料庫互動的基本功能。
目前,它託管在 TestPyPI 上。如果TestPyPI發行版被清理,請聯絡作者重新上傳。
若要安裝最新版本的軟體包,請使用 PyPI 中的命令。
如果上述連結已損壞,請嘗試:
pip install DairyBrainUtils
安裝後,我們建議您使用import DairyBrainUtils as dbu
導入套件。
(更新:當我們上傳到官方 PyPI 時,此問題已解決)如果您看到以下錯誤訊息:
ERROR: Could not find a version that satisfies the requirement DairyBrainUtils-ruipeterpan==0.3.0 (from versions: 0.0.3, 0.0.4, 0.1.0, 0.1.1, 0.1.2, 0.1.3, 0.2.0, 0.2.1)
ERROR: No matching distribution found for DairyBrainUtils-ruipeterpan==0.3.0
嘗試再安裝一次。 TestPyPI 很奇怪。
可用的函數列表如下:
get_engine(credentials)
check_if_database_exists(db_engine)
create_table_if_doesnt_exist(db_engine, table_name, sql_statement)
create_table(db_engine, table_name, sql_statement)
create_schema(db_engine, schema_name)
create_sequence(db_engine, sequence_name)
get_next_from_sequence(db_engine, sequence_name)
populate_table_from_csv(table_name, csv_location, db_engine)
execute_statement(statement, db_engine)
drop_table(table_name, db_engine)
has_table(table_name, db_engine)
get_engine(credentials)
接受帶有鍵的字典credentials
: [dialect, user, password, host, port, db_name, log]
,並將這些憑證傳遞到 sqlalchemy.create_engine() 以建立新的引擎實例。
dialect
:字串。一種資料庫方言。目前該軟體包僅支援postgresql
。user
:字串。資料庫中使用者的使用者名稱。password
:字串。與使用者關聯的密碼。host
:字串。主機名。port
:整數。連接埠號。db_name
:字串。資料庫名稱。log
:布林值。如果為 True,引擎會將所有語句及其參數清單的 repr() 記錄到引擎記錄器中,預設為 sys.stdout。check_if_database_exists(db_engine)
使用現有的 sqlalchemy 功能檢查資料庫是否存在。如果資料庫存在則傳回“True”,否則傳回“False”
create_table_if_doesnt_exist(db_engine, table_name, sql_statement)
如果具有給定名稱的表不存在,則在資料庫中建立一個具有table_name
的表。
sql_statement
是一個CREATE TABLE
語句,它指定要建立的表的表頭。
create_table(db_engine, table_name, sql_statement)
在資料庫中建立一個名為 table_name 的表。
sql_statement
是一個CREATE TABLE
語句,它指定要建立的表的表頭。
create_schema(db_engine, schema_name)
在指定資料庫中建立具有給定schema_name
的架構。
create_sequence(db_engine, sequence_name)
在資料庫中建立序列。
get_next_from_sequence(db_engine, sequence_name)
傳回給定序列中的下一個整數 id(假設存在)
populate_table_from_csv(table_name, csv_location, db_engine)
接受csv_location
,即 csv 檔案的檔案路徑,並使用指定資料庫中給定的table_name
(假設存在)填入表格。
execute_statement(statement, db_engine)
在指定的資料庫中執行SQL語句。
drop_table(table_name, db_engine)
刪除指定資料庫中具有table_name
的表。
has_table(table_name, db_engine)
如果指定資料庫中存在具有給定table_name
的表,則傳回True
,否則傳回False
請參閱本教程,了解有關打包 Python 專案並將其上傳到 PyPI(Python 套件索引)的指南。這是一個具有最佳格式的範例項目。
要發布套件的新版本,請編輯./DairyBrainUtils/__init__.py
,更改setup.py
中的版本號,然後按照教程發布分發檔案。
更具體地說,執行以下操作:
python3 -m pip install --upgrade setuptools wheel
python3 setup.py sdist bdist_wheel
現在,應該建立一個包含兩個檔案的dist
目錄。如果要將套件託管在本機伺服器上,只需取得.whl
檔案並使用pip
來安裝套件。
若要將分發包上傳到 TestPyPI,請執行下列操作:
python3 -m pip install --upgrade twine
python3 -m twine upload --repository testpypi dist/*
當提示輸入使用者名稱時使用__token__
。對於密碼,請使用令牌值,包括pypi-
前綴。