消除创建nixpkgs派生的繁琐特性的工具

nixpkgs-pytools的Python项目详细描述


python nixpkgs工具

Build Status

这些脚本是为了消除创建nix的繁琐特性而编写的 nixpkgs的包派生。这些脚本的目的不是 创建一个完美的包派生,但尽可能完整 并指导用户进行必要的更改。

python包初始化

usage: python-package-init [-h] [--version VERSION] [--filename FILENAME] [--stdout] [--nixpkgs-root NIXPKGS_ROOT] [-f] package

positional arguments:
  package               pypi package name

optional arguments:
  -h, --help            show this help message and exit
  --version VERSION     pypi package version (stable if not specified)
  --filename FILENAME   filename for nix derivation
  --stdout              Print the nix derivation to stdout
  --nixpkgs-root NIXPKGS_ROOT
                        Root directory of nixpkgs
  -f, --force           Force creation of file, overwriting when it already exists

python-package-init现在可以在 pkgs/top-level/python-modules.nix并将default.nix写入 pkgs/development/python-modules/<package-name>/default.nix使用 几乎完全推导。

示例让我们向nixpkgs添加nixpkgs-pytools。已经在里面了 所以您需要提供-f(force)选项来强制 这是写给尼克斯帕克斯的。

nix-shell -p nixpkgs-pytools
python-package-init nixpkgs-pytools --nixpkgs-root=<path to nixpkgs>

创建要进入的default.nix派生 nixpkgs/pkgs/development/python-modules/<pypi-name>/default.nix。这个 脚本过于冗长,因此不必记住名称 属性。删除那些你不需要的。

python重写导入

usage: python-rewrite-imports [-h] --path PATH [--replace REPLACE REPLACE]

optional arguments:
  -h, --help            show this help message and exit
  --path PATH           path to refactor imports
  --replace REPLACE REPLACE
                        module import to replace

重写气流导入示例

nix-shell -p nixpkgs-pytools

cd /tmp
wget https://github.com/apache/airflow/archive/master.tar.gz
tar -xf master.tar.gz

python-rewrite-imports --path /tmp/airflow-master \
                       --replace flask_appbuilder flask_appbuilder_1_13_6237336a2b92fa6ba5f7f14dda56c08af6c0a76a \
                       --replace pendulum pendulum_1_4_4_55011d302b80c60360e2cc9f3a5ace7336c727c7

grep -R pendulum /tmp/airflow-master

您将注意到所有导入都已重写。重写完成 通过rope强大的重构 许多文本编辑器使用的库。

攻击这些工具

nix-shell将为您的使用加载正确的环境:

nix-shell

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
junit cucumber为什么会找到“runTest.java”来运行测试?   在Eclipse中找不到java KeyPairGenerator   java NotSerializableException即使在实现Serializable之后   noclassdeffounderror(java字符串连接)为什么会出现这种异常?   java Guice:将接口绑定到由动态代理创建的实例   使用Spring数据neo4j创建空间索引时发生java错误   java对于需要在50多个excel文件上运行并且每个文件平均包含25k行的项目,最佳的方法是什么   javaNIO中的java缓冲区写入/发送消息问题   如何在Java/eclipse中添加不调用super()的警告   JavaSpring:mvcUrl映射错误的id   java应该在getInstance或构造函数中使用Init方法吗?   安卓中的java空指针异常错误   java Jsoup不能完全获取原始html代码