Виртуальная среда Python 3 использует сокетные соединения Python по умолчанию (2.6) для PyMySQL - PullRequest
0 голосов
/ 01 июня 2018

Серверная версия 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 установлено на сервере.

Как заставить приложение использовать версию виртуальной среды?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...