Trước khi nhảy vào lệnh sẽ cài đặt
/usr/lib/python3.7/dist-packages/setuptools
3, bạn nên hiểu nơi /usr/lib/python3.7/dist-packages/setuptools
4 cài đặt các gói PythonGói trang web toàn cầu là nơi Python cài đặt các gói sẽ có sẵn cho tất cả người dùng và tất cả các ứng dụng Python trên hệ thống. Bạn có thể kiểm tra gói trang web toàn cầu bằng lệnh
python -m site
Ví dụ: trên Linux với Python 3. 7 con đường thường là
/usr/lib/python3.7/dist-packages/setuptools
Gói trang web của người dùng là nơi Python cài đặt các gói chỉ dành cho bạn. Nhưng các gói sẽ vẫn hiển thị với tất cả các dự án Python mà bạn tạo. Bạn có thể có được đường dẫn với
python -m site --user-base
Trên Linux với Python 3. 7 con đường thường là
~/.local/lib/python3.7/site-packages
Sử dụng Python3. x
Trên hầu hết Linux và các Unices khác, Python 2 và Python 3 thường được cài đặt song song. Tệp thực thi Python 3 mặc định hầu như luôn là
/usr/lib/python3.7/dist-packages/setuptools
5. /usr/lib/python3.7/dist-packages/setuptools
4 có thể có sẵn dưới dạng một trong các tùy chọn sau, tùy thuộc vào bản phân phối Linux của bạnTránh sử dụng
/usr/lib/python3.7/dist-packages/setuptools
4 với /usr/lib/python3.7/dist-packages/setuptools
8. Có, đó là cách thuận tiện nhất để cài đặt các gói Python và tệp thực thi có sẵn tại /usr/lib/python3.7/dist-packages/setuptools
9, nhưng điều đó cũng có nghĩa là gói cụ thể đó luôn hiển thị cho tất cả người dùng và tất cả các dự án Python mà bạn tạo. Thay vào đó, hãy sử dụng các gói trang web cho mỗi người dùng thay vì bằng python -m site --user-base
0pip3 install --user pipenv
/usr/lib/python3.7/dist-packages/setuptools
3 có sẵn tại~/.local/bin/pipenv
Trên macOS,. Bạn có thể dễ dàng nâng cấp Python, cài đặt nhiều phiên bản Python và chuyển đổi giữa các phiên bản bằng Homebrew
Nếu bạn đang sử dụng Homebrew'ed Python,
python -m site --user-base
2 bị vô hiệu hóa. Gói trang web toàn cầu được đặt tại/usr/local/lib/python3.y/site-packages
và bạn có thể cài đặt các gói Python một cách an toàn tại đây. Trăn 3. y cũng tìm kiếm các mô-đun trong
/Library/Python/3.y/site-packages
~/Library/Python/3.y/lib/python/site-packages
Vì những lý do cũ, Python được cài đặt trong
python -m site --user-base
3. Tệp thực thi Python thường có tên là python -m site --user-base
4 và bạn có thể chạy /usr/lib/python3.7/dist-packages/setuptools
4 với python -m site --user-base
6Gói trang web toàn cầu được cài đặt trong
C:\Python37\lib\site-packages
Vì bạn không thường chia sẻ các thiết bị Windows của mình nên bạn cũng có thể cài đặt một gói trên toàn cầu
/usr/lib/python3.7/dist-packages/setuptools
0/usr/lib/python3.7/dist-packages/setuptools
3 hiện đã có tại/usr/lib/python3.7/dist-packages/setuptools
1Tôi không khuyên bạn nên cài đặt các gói Python trong Windows với
python -m site --user-base
0, vì thư mục gói trang web mặc định của người dùng nằm trong hồ sơ chuyển vùng Windows của bạn/usr/lib/python3.7/dist-packages/setuptools
2Cấu hình chuyển vùng được sử dụng trong Dịch vụ đầu cuối [Remote Desktop, Citrix, v.v.] và khi bạn đăng nhập/tắt trong môi trường công ty. Đăng nhập, đăng xuất và khởi động lại chậm trong Windows có thể do cấu hình chuyển vùng lớn gây ra
Khởi tạo hằng cơ sở dữ liệu
Tạo tên người dùng cơ sở dữ liệu thuộc tính không đổi, mật khẩu, URL và trình điều khiển, giới hạn bỏ phiếu, v.v.
// init database constants
// com.mysql.jdbc.Driver
private static final String DATABASE_DRIVER = "com.mysql.cj.jdbc.Driver";
private static final String DATABASE_URL = "jdbc:mysql://localhost:3306/database_name";
private static final String USERNAME = "root";
private static final String PASSWORD = "";
private static final String MAX_POOL = "250"; // set your own limit
Khởi tạo kết nối và thuộc tính
Sau khi kết nối được thiết lập, tốt hơn là lưu trữ cho mục đích sử dụng lại
// init connection object
private Connection connection;
// init properties object
private Properties properties;
Tạo thuộc tính
Đối tượng thuộc tính giữ thông tin kết nối, kiểm tra xem nó đã được đặt chưa
// create properties
private Properties getProperties[] {
if [properties == null] {
properties = new Properties[];
properties.setProperty["user", USERNAME];
properties.setProperty["password", PASSWORD];
properties.setProperty["MaxPooledStatements", MAX_POOL];
}
return properties;
}
Kết nối cơ sở dữ liệu
Bây giờ hãy kết nối với cơ sở dữ liệu bằng các hằng số và thuộc tính được khởi tạo
// connect database
public Connection connect[] {
if [connection == null] {
try {
Class.forName[DATABASE_DRIVER];
connection = DriverManager.getConnection[DATABASE_URL, getProperties[]];
} catch [ClassNotFoundException | SQLException e] {
// Java 7+
e.printStackTrace[];
}
}
return connection;
}
Ngắt kết nối cơ sở dữ liệu
Khi bạn đã hoàn tất các thao tác với cơ sở dữ liệu, chỉ cần đóng kết nối
// disconnect database
public void disconnect[] {
if [connection != null] {
try {
connection.close[];
connection = null;
} catch [SQLException e] {
e.printStackTrace[];
}
}
}
Mọi thứ cùng nhau
Sử dụng lớp này trực tiếp sau khi thay đổi tên_cơ sở dữ liệu, tên người dùng và mật khẩu, v.v.
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;
public class MysqlConnect {
// init database constants
private static final String DATABASE_DRIVER = "com.mysql.cj.jdbc.Driver";
private static final String DATABASE_URL = "jdbc:mysql://localhost:3306/database_name";
private static final String USERNAME = "root";
private static final String PASSWORD = "";
private static final String MAX_POOL = "250";
// init connection object
private Connection connection;
// init properties object
private Properties properties;
// create properties
private Properties getProperties[] {
if [properties == null] {
properties = new Properties[];
properties.setProperty["user", USERNAME];
properties.setProperty["password", PASSWORD];
properties.setProperty["MaxPooledStatements", MAX_POOL];
}
return properties;
}
// connect database
public Connection connect[] {
if [connection == null] {
try {
Class.forName[DATABASE_DRIVER];
connection = DriverManager.getConnection[DATABASE_URL, getProperties[]];
} catch [ClassNotFoundException | SQLException e] {
e.printStackTrace[];
}
}
return connection;
}
// disconnect database
public void disconnect[] {
if [connection != null] {
try {
connection.close[];
connection = null;
} catch [SQLException e] {
e.printStackTrace[];
}
}
}
}
Làm thế nào để sử dụng?
Khởi tạo lớp cơ sở dữ liệu
// !_ note _! this is just init
// it will not create a connection
MysqlConnect mysqlConnect = new MysqlConnect[];
Một nơi khác trong mã của bạn
String sql = "SELECT * FROM `stackoverflow`";
try {
PreparedStatement statement = mysqlConnect.connect[].prepareStatement[sql];
.. go on ...
.. go on ...
.. DONE ....
} catch [SQLException e] {
e.printStackTrace[];
} finally {
mysqlConnect.disconnect[];
}
Đây là tất cả. ] Nếu bất cứ điều gì để cải thiện chỉnh sửa nó. Hy vọng điều này là hữu ích