Серверная версия Python по умолчанию для сервера - 2.6.Python 3 также установлен, и я создал виртуальную среду (python3 -m venv py3env
) и установил Flask и PyMySQL в виртуальной среде.
Однако после настройки веб-сервера (Apache + WSGI) приложение нене работает и выдает следующую ошибку:
File "/var/www/webapp/py3env/lib/python3.6/site-packages/pymysql/__init__.py", line 90, in Connect
return Connection(*args, **kwargs)
File "/var/www/webapp/py3env/lib/python3.6/site-packages/pymysql/connections.py", line 699, in __init__
self.connect()
File "/var/www/webapp/py3env/lib/python3.6/site-packages/pymysql/connections.py", line 935, in connect
self._get_server_information()
File "/var/www/webapp/py3env/lib/python3.6/site-packages/pymysql/connections.py", line 1249, in _get_server_information
packet = self._read_packet()
File "/var/www/webapp/py3env/lib/python3.6/site-packages/pymysql/connections.py", line 991, in _read_packet
packet_header = self._read_bytes(4)
File "/var/www/webapp/py3env/lib/python3.6/site-packages/pymysql/connections.py", line 1025, in _read_bytes
data = self._rfile.read(num_bytes)
File "/usr/lib64/python2.6/io.py", line 940, in read
return self._read_unlocked(n)
File "/usr/lib64/python2.6/io.py", line 974, in _read_unlocked
chunk = self.raw.read(wanted)
File "/usr/lib64/python2.6/io.py", line 591, in read
n = self.readinto(b)
File "/var/www/webapp/py3env/lib/python3.6/site-packages/pymysql/_socketio.py", line 59, in readinto
return self._sock.recv_into(b)
TypeError: recv_into() argument 1 must be pinned buffer, not bytearray
- Я пытался установить
python-socketio
через pip, но он все еще не используется. MySQL-python
установлено на сервере.
Как заставить приложение использовать версию виртуальной среды?