pip - 在 python egg sdist安装目录中,安装 static 文件

  显示原文与译文双语对照的内容
0 0

我正在创建一个应用程序,这取决于项目中的static 文件的目录。

项目结构:

myBlanky
 __blankys
 __bootstrap
 |__google_app_engine
 __my_blanky
 ____init__.py
 |__my_blanky.py
 |__file_system_utils.py
 setup.py
 MANIFEST.in
 README.md
 LICENSE
. travis.yml
 setup.cfg

因此,在我的root 目录中,我有 1个 python 模块( my_blanky ) 。各种 python 项目文件( 清单,setup.py, 等) 和 1个目录,其中包含 static 数据( blankys ) 。

我以前为应用程序创建一个. tar. gz软件包遇到麻烦,但是在创建 MANIFEST.in 文件和编辑我的setup.py 文件之后,我可以通过命令成功创建. tar. gz: python3 setup.py sdist

我的setup.py:

from setuptools import setup
from my_blanky import version
setup(name="myBlanky",
. . .url, author, etc info here...
 packages=["my_blanky"],
 include_package_data=True,
 package_data={'blankys': ['blankys/*']},
 zip_safe=False,
 entry_points={"console_scripts": ["myblanky = my_blanky.my_blanky:main"]},
 install_requires=['docopt==0.6.1'])

我的MANIFEST.in:

recursive-include blankys *
include *.md
include LICENSE
include setup.cfg

在运行 python3 setup.py sdist 之后,打开创建的. tar. 文件,它包含所有需要( 。blankys目录,my_blanky模块,所有 root dir static 文件)的数据,所以它包含我需要的所有 static 文件。

然后,我将使用pip安装. tar. gz: find./dist -iname"*.tar.gz" -print0 | xargs -0 pip install 它运行成功,没有任何错误。 ( 安装的输出不显示任何关于 static 文件的信息,但不认为它会这样做。)

现在这个问题是。 我的python 项目现在应该安装在我的机器上。 我可以在我的机器或者 myblanky -v 上运行 myblanky,这一切都很好。 虽然我尝试运行任何代码,试图访问文件目录"blankys",但是它中断了说没有这样的目录在任何地方都存在。 /usr/local/lib/python3.4/dist-packages/my_blanky/ 我手动浏览该位置,其中只有我的python 模块 my_blanky 源文件的文件。 父目录: /usr/local/lib/python3.4/dist-packages/ 同时也不包含任何 static 文件。

我希望 static 目录 blankys 被复制到dist包的位置,当我安装我的项目时。 我希望目录与我的my_blanky 模块目录一起使用,这样我就可以以使用我的程序中的static 文件目录。


所以如果 static 文件安装到我的. tar. 包中,安装在我的机器上似乎成功,在安装的dist包中我的static 文件是? 我在我的计算机上安装了. tar. in中的static 文件/目录,因这里为什么不在安装中复制这些项目。 仅复制 python 模块 my_blanky

时间:原作者:1个回答

0 0

我觉得我已经解决了这个问题。

实际上我的问题是我有一个"设置。配置"文件,我希望能够在用户的机器上访问系统宽。 我们想把它放到系统中,我想在这个系统中找到一个单独的文件,这样我就可以找到并操纵它。

今天我正在清理我的机器目录,我发现我正在考虑一切错误。 应用程序所有的时间都会在系统中有一个配置文件,它可以以访问。 它位于 ~/.config 或者 /etc 或者 Windows 中: %APPDATA% 。我在上面问过我的问题如何在 /usr/local/lib/python3 中安装 settings.config 文件但是这是错误的。 那不是我应该做的,就像其他程序一样。

所以要回答我的问题: 你不能在 /usr/local/lib/python3 中安装数据文件,原因很好。 使用 ~/.config 或者 /etc 或者 %APPDATA%

原作者:
...