Я даже получил новый Python (общий) хостинг и пытаюсь проверить соединение с базой данных с помощью pymysql
. Я установил pymysql
с pip
и протестировал его через Putty с import pymysql
. Получение только >>>
позволяет мне думать, что pymysql успешно установлен. Файлы вроде бы на своем месте: в files/python-pip
есть папки mysql_pymysql
, pymysql
и PyMySQL-0.9.3.dist.info
.
Затем я написал простой скрипт, который должен проверять соединение с базой данных и регистрировать результаты теста,Но когда я проверяю соединение с базой данных с
import pymysql.cursors
# Connect to the database
connection = pymysql.connect(host='localhost',
user='user',
password='passwd',
db='db',
charset='utf8mb4',
cursorclass=pymysql.cursors.DictCursor)
, я получаю сообщение об ошибке ImportError: No module named 'pymysql'
.
Что я делаю неправильно и как я могу подключиться к базе данных?
PS : пробовал тоже так:
import pymysql.cursors
import MySQLdb
db=MySQLdb.connect(user="bb",passwd="bb",db="db")
c = db.cursor()
но с тем же отрицательным результатом. Весь сценарий:
#!/usr/local/python/bin/python3
import logging
# add filemode="w" to overwrite
logging.basicConfig(filename="sample0.log", filemode='w', level=logging.INFO, format='%(name)s - %(levelname)s - %(message)s')
#logging.debug("This is a debug message")
#logging.info("Informational message")
#logging.error("An error has happened!")
try:
import pymysql.cursors
import MySQLdb
db=MySQLdb.connect(user="user",passwd="pass",db="db")
c = db.cursor()
except Exception as e:
logging.error("Exception occurred", exc_info=True)
print("Content-Type: text/html")# HTML is following
print()
print(e)
print("<TITLE>CGI script output ok</TITLE>")
print("<H1>This is my first CGI script</H1>")
print("Hello, world!")
import sys
print(sys.path)
Информация от хостера :
1. Create folder:
$ mkdir "$HOME/files/python-pip" "$HOME/tmp/.cache" -p
2. Add environment variable to account:
$ printf "\n%s\n%s\n%s\n%s\n%s\n%s\n" \
"# needed for python pip" \
"export PIP_TARGET=$HOME/files/python-pip" \
"export TMPDIR=$HOME/tmp" \
"export PYTHONPATH=$HOME/files/python-pip" \
"export XDG_CACHE_HOME=$HOME/tmp/.cache" \
"# finished setting up python-pip" \
>> "$HOME/etc/bash/profile" \
&& source "$HOME/etc/bash/profile"
3. download PIP install files:
$ wget -q "https://bootstrap.pypa.io/get-pip.py" -O "$HOME/files/get-pip.py"
4. run PIP install:
$ python "$HOME/files/get-pip.py"
5. Cleanup after install:
$ rm "$HOME/files/get-pip.py"
6. Use PIP:
$ python -m pip search "MODULE_HERE
$ python -m pip install "MODULE_HERE"
7. Install MySQL handler for Python
$ python -m pip install pymysql