这对货物和npm来说相当容易。
当我从外壳$ pylint src && pylint tests
运行它时,我没有任何问题。
但当我将其作为pipenv脚本运行时
[scripts]
lint = "pylint src && pylint tests"
$ pipenv run lint
************* Module &&
&&:1:0: F0001: No module named && (fatal)
Pylint认为&&
是另一个模块
pipenv运行时不仅仅是终端吗?
正如他们的GitHub跟踪器的这个问题所指出的,这是由以下事实引起的:
这很难做到正确,尤其是因为Pipenv需要支持跨平台体验
来源:https://github.com/pypa/pipenv/issues/2038#issuecomment-387506323
问题报告中指出了一个很适合您的解决方案:
[scripts]
lint = "bash -c 'pylint src && pylint tests'"
pipenv
在其跟踪器上的相关问题:
- https://github.com/pypa/pipenv/issues/2878——这里的维护人员的回答更多地说明了实现这一点会导致的可移植性问题
- https://github.com/pypa/pipenv/issues/2283--很有趣,因为它提供了另一个解决方案,即使用PyInvoke
- https://github.com/pypa/pipenv/issues/2160
- https://github.com/pypa/pipenv/issues/2038