我已经能够运行我从IDE写入瓶中的Web应用程序。它运行良好,当我试图将它移动到一个新的系统时,它打破了(找不到我在lib文件夹中写入的文件)。Python无法找到我的软件包:
如何找到我的lib文件?我发现这对瓶:
bottle.TEMPLATE_PATH.insert(0,'/absolut/path/to/templates/')
而且我认为,这将与丢失.tpl文件的帮助,但我怎么一般这样做的蟒蛇?我可以在main.py中添加某种python.PATH.insert()
吗?
这里是我的目录结构:
DEV
├───.idea
│ ├───inspectionProfiles
│ └───scopes
└───myProject *(Also has a .py file I need)*
├───output
│ └───processed
└───webapp
├───src
│ ├───lib
│ │ └───*(All my .py files I need)*
│ ├───static
│ │ ├───css
│ │ ├───files
│ │ ├───img
│ │ └───js
│ └───views *(All the .tpl files I need)*
│ ├───main
│ ├───popup
│ └───reports
└───main.py *(The file that acesses the .py files)*
相关代码:
import threading
import time
import datetime
import crud_ops
from helper_functions import load_config_file, dt_ona_sum_format
from server import run_bottle
from myProject import ona_sum_tool #THIS LINE HERE
...
def run_queue(col):
while(1):
if not col:
print "Unable to connect to db."
else:
my_limit = 10
processing_cursor = col.queue.find({"status":"processing"}).limit(my_limit)
if not processing_cursor.count():
queued_cursor = col.queue.find({"status":"queued"}).limit(my_limit)
if queued_cursor.count():
for doc in queued_cursor:
print col.queue.update({"_id":doc['_id']},{"$set":{"status":"processing"}})
# print col.queue.update({"status":"queued"}, {"$set":{"status":"processing"}}).limit(10)
processing_cursor = col.queue.find({"status":"processing"})
if processing_cursor.count():
time.sleep(1)
for doc in processing_cursor:
############################# THIS LINE HERE ######################
new_file_name = ona_sum_tool.run_summary(dt_ona_sum_format(doc['start']), dt_ona_sum_format(doc['end']))
# print "new_file_name: ", new_file_name
old_id = doc['_id']
# print old_id
doc['_id'] = str(new_file_name)
doc['status'] = 'done'
insert_result = col.queue.insert(doc)
if(insert_result):
col.queue.remove({"_id":old_id})
错误:
Traceback (most recent call last):
File "main.py", line 5, in <module>
from lib.threads import ConnectToDBThread, StartBottleThread, ProcessOutputController, \
File "C:\dev\myProject\myProject\webapp\src\lib\threads.py", line 10, in <module>
from myProject import ona_sum_tool
ImportError: No module named onager
我有我的lib文件夹中的文件。我还在其他几个文件夹中...可能是一个问题吗? – Jeff
如果你想从'main.py'访问'lib'文件夹中的文件,那么你的'src'文件夹也需要'__init __。py'文件。我不知道所有其他'__init.py'文件在哪里,但不应该是问题。 – s16h
也许编辑你的问题来显示'main.py'中的相关代码以及你得到的错误。 – s16h