【问题标题】:Why can't I call pip with --target and --editable?为什么我不能用 --target 和 --editable 调用 pip?
【发布时间】:2016-12-16 04:16:11
【问题描述】:

我正在使用

cd 我的包

pip install --target deploy_directory .

准备在 Google App Engine 上部署的包,但为了在 dev_appserver.py 下进行测试,我想在开发模式下安装包(即,使用“--editable”)。但是,当我尝试时:

cd 我的包

pip install --target deploy_directory --editable .

我得到类似的东西:

Complete output from command /my/venv/bin/python -c "import setuptools, tokenize;__file__='/Path/To/MyPackage/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" develop --no-deps --home=/var/folders/5h/k2xt_l014s1c1gvmnssm963c0000gp/T/tmpoml8u3:
/my/venv/lib/python2.7/site-packages/setuptools/dist.py:364: UserWarning: Normalizing '0.1.0
' to '0.1.0'
  normalized_version,
usage: -c [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
   or: -c --help [cmd1 cmd2 ...]
   or: -c --help-commands
   or: -c cmd --help

error: option --home not recognized

这似乎是因为“setup.py develop”不接受“--home”。

这是我的 setup.py:

 from setuptools import setup, find_packages
 import os
 import sys
 from codecs import open

  setup(name="MyModule",
        version="0.1.0",
        long_description="Blah blah",
        author="Me",
        packages = find_packages()
  )

如何轻松处理在开发服务器下运行的代码?

【问题讨论】:

  • 你的setup.py看起来怎么样?
  • 这里也一样。 “点安装-e。”有效,但如果我添加 -t 选项,我会得到同样的错误。任何解决方法?我可以只复制相关文件夹吗?

标签: python google-app-engine pip setuptools setup.py


【解决方案1】:

正如another answer 中所述,--target--editable 选项不能很好地配合。

here 提到了一种解决方法,它涉及首先创建一个轮子,然后从该轮子安装。

这是一个对我有用的单线

path_to_package=<path to package> && install_location=<install location> && whl_name=$(pip wheel --editable $path_to_package | grep -o "filename=.* size=") && pip install --target $install_location ${whl_name:9:-6}

只需将 &lt;path to package&gt;&lt;install location&gt; 更改为您想要的。

【讨论】:

    【解决方案2】:

    这是众所周知的,因为很长一段时间。请参阅 https://github.com/pypa/pip/issues/3246https://github.com/pypa/pip/issues/562

    在第二个链接中提到,一些开发人员通过将--target 替换为--src 来涵盖他们的用例。不过我自己没有试过。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-12-30
      • 1970-01-01
      • 1970-01-01
      • 2020-08-01
      • 2021-12-25
      • 1970-01-01
      • 2021-02-04
      相关资源
      最近更新 更多