2014-09-15 9 views
1

내가 내 자신의 사용자와 스크립트를 실행하고 있습니다 :pyenv가있는 lighttpd fast-cgi를 사용하여 python 스크립트를 어떻게 실행할 수 있습니까?

#!/usr/bin/env python 

을하지만 스크립트를 실행하면 오류가 발생합니다 : 내 파이썬 스크립트에서

# from /etc/lighttpd/lighttpd.conf 

server.document-root  = "/opt/app/current/bin/" 
server.username    = "klenwell" 

fastcgi.server = (
    ".py" => (
     "localhost" => (
      "socket" => "/tmp/klenwell-fastcgi.socket", 
      "bin-path" => "/opt/app/current/bin/app.py", 
      "max-procs" => 5 
     ) 
    ) 
) 

을, 나는 오두막은과 같이 설정 내가 pip와 함께 설치 한 모듈을로드 할 수 없다는 것을 알려줍니다. 이는 pyenv 버전이 아니라 시스템 파이썬을 사용하고 있음을 나타냅니다.

/usr/sbin/lighttpd -D -f /etc/lighttpd/lighttpd.conf start 
(traceback omitted) 
ImportError: No module named requests 

나는 pyenv 파이썬은과 같이 명시 적으로 설치 사용하도록 오두막을 변경하는 경우 :

#!/home/klenwell/.pyenv/versions/2.7.8/bin/python 

는 나는 할 수 시작 lighttpd를을 성공적으로.

현재 기본 구성은 pyenv가 아닌 pythonbrew를 사용하여 웹 응용 프로그램을 성공적으로 실행하고 있습니다. 그러나 pythonbrew가 사용되지 않으므로 pyenv로 마이그레이션하려고합니다. Lighttpd를 구성하여 내 사용자를 위해 pyenv를 성공적으로로드하는 방법에 대한 아이디어가 있습니까?

답변

1

동료가 알아 냈습니다. bin-environment 아래의 PATH 변수에 pyenv 경로를 추가해야했습니다. 예 :

fastcgi.server = (
    ".py" => (
     "localhost" => (
      "socket" => "/tmp/klenwell-fastcgi.socket", 
      "bin-path" => "/opt/app/current/bin/app.py", 
      "bin-copy-environment" => (""), 
      "bin-environment" => (
       "PATH" => "/home/klenwell/.pyenv/shims:/home/klenwell/.pyenv/bin:/bin:/sbin:/usr/bin:/usr/local/bin" 
      ), 
      "max-procs" => 5 
     ) 
    ) 
) 
+0

어떻게 했습니까? – Sajeetharan

+0

어떻게 연락 할 수 있습니까? – Sajeetharan