FreeBSD: usando python3 no uwsgi em vez de python2

4

Eu tenho um servidor com o FreeBSD 10.1 instalado. Eu quero implantar um site do Django nele usando uwsgi + nginx + python3 e tenho alguns problemas.

O site foi escrito para python3, eu instalei python3.4 e depois python3 e python a partir de portas, configurei nginx e escrevi uwsgi ini-file e sock-file. Então tentei iniciar o projeto. Ele funciona perfeitamente em virtualenv.

Então eu instalei o uwsgi globalmente usando o pip3. Mas quando tento iniciar o projeto globalmente recebo o erro

no module named site

que significa que o uwsgi usa python2 ao invés de 3. O que tentei resolver este problema:

  • defina DEFAULT_VERSIONS = python = 3.4 no make.conf;
  • defina $ PYTHONHOME e $ PYTHONPATH como / usr / local / bin / python3;
  • altere o link / usr / local / bin / python de python2 para python3;

Não ajudou. Como forçar o uwsgi a usar python3 em vez de python2?

Foto PS do terminal: link

    
por DiA 11.01.2016 / 16:30

2 respostas

3

Ao definir

DEFAULT_VERSIONS=python=3.5 python2=2.7 python3=3.5

em /etc/make.conf você precisa reconstruir as portas que usam a versão padrão do Python.

    
por 15.01.2016 / 17:58
0

Você pode usar virtualenv para lidar com diferentes versões do Python em um servidor e usar instalações Python completamente separadas para o que precisar.

Veja o link

    
por 12.01.2016 / 11:32