Biopython Entrez 想要在 Django 应用程序中访问 /root/.config
Biopython Entrez wanting to access /root/.config in Django app
我在 Django 应用程序中有一些代码执行以下操作,以获取 DOI 的 Pubmed 文章:
def getPubmedByDOI(request,doi):
Entrez.email = 'me@mydomain.com'
handle = Entrez.esearch(db="pubmed", term=doi)
record = Entrez.read(handle)
return getPubmedArticle(request,record["IdList"][0]) // renders the article
这很好用,但一方面 - Entrez.esearch 调用坚持访问服务器上的 /root/.config,特别是写入以下空目录:
/root/.config/biopython/Bio/Entrez/DTDs/
是Gentoo上的Apache,运行如下:
User django
Group apache
该应用程序的所有代码都在 ~django/ 中,所以我希望任何写入都在 ~django/.config 而不是 /root/.config 中。我可以通过更改 /root 的权限来解决这个问题,但更好的解决方案是配置 Biopython 或 Apache,以免写入 /root。有没有人对如何做到这一点有任何建议?
上游记录为 https://github.com/biopython/biopython/issues/918,建议设置:
>>> from Bio.Entrez.Parser import DataHandler
>>> DataHandler.global_dtd_dir
'/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Bio/Entrez/DTDs'
>>> DataHandler.local_dtd_dir = '...'
我在 Django 应用程序中有一些代码执行以下操作,以获取 DOI 的 Pubmed 文章:
def getPubmedByDOI(request,doi):
Entrez.email = 'me@mydomain.com'
handle = Entrez.esearch(db="pubmed", term=doi)
record = Entrez.read(handle)
return getPubmedArticle(request,record["IdList"][0]) // renders the article
这很好用,但一方面 - Entrez.esearch 调用坚持访问服务器上的 /root/.config,特别是写入以下空目录:
/root/.config/biopython/Bio/Entrez/DTDs/
是Gentoo上的Apache,运行如下:
User django
Group apache
该应用程序的所有代码都在 ~django/ 中,所以我希望任何写入都在 ~django/.config 而不是 /root/.config 中。我可以通过更改 /root 的权限来解决这个问题,但更好的解决方案是配置 Biopython 或 Apache,以免写入 /root。有没有人对如何做到这一点有任何建议?
上游记录为 https://github.com/biopython/biopython/issues/918,建议设置:
>>> from Bio.Entrez.Parser import DataHandler
>>> DataHandler.global_dtd_dir
'/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Bio/Entrez/DTDs'
>>> DataHandler.local_dtd_dir = '...'