标签: pipfile

composer.json 中“冲突”的用法是什么?我应该如何处理它?

我发现composer.json & composer.lock(php) hasconflict 部分(不要与合并冲突混淆)。其他类似的文件,如package.json/yarn.json(nodejs) 或Pipfile(python) 以及相应的锁定文件package-lock.json/yarn.lockPipfile.lock,不具有这种格式,即使所有这些锁定文件都具有相同的目的(将依赖项锁定到确切的版本)并以类似的方式实现(至少从表面上看)

那么它的用途是什么以及我应该用它做什么?我阅读了作曲家文档https://getcomposer.org/doc/04-schema.md#conflict但我仍然感到困惑,例如

与此包的此版本冲突的包的映射。它们将不允许与您的软件包一起安装。

例如运行后composer install我有一个composer.lock说

    {
        "name": "symfony/http-kernel",
        "version": "v4.4.20",
        ...
        "conflict": {
            "symfony/browser-kit": "<4.3",
            "symfony/config": "<3.4",
            "symfony/console": ">=5",
            "symfony/dependency-injection": "<4.3",
            "symfony/translation": "<4.2",
            "twig/twig": "<1.43|<2.13,>=2"
        },
    ...
Run Code Online (Sandbox Code Playgroud)

很容易猜测“symfony/console”5.0 与“symfony/http-kernel”4.4.20 冲突,因此symfony/console 5.0不会安装。

我需要对冲突采取什么措施吗?到目前为止,我觉得作为软件包用户(而不是软件包开发人员),这些信息只是仅供参考,我不需要做任何事情。但那为什么还要费心为我列出它们呢?毕竟package.json和Pipefile没有这样的信息,没有它我就找不到问题。

- - 更新 - -

从我得到的答案中,我意识到我需要强调这一点:我理解composer.lock是针对composer的,所以我不需要担心它。

我不明白将其放入composer.json的目的,该文件是供人类用户使用的。那么如果它有冲突部分我该怎么办呢?

php composer-php package.json yarnpkg pipfile

11
推荐指数
2
解决办法
6844
查看次数

如何使用 Pipenv 指定多个 sys_platforms

我试图用来Pipenv指定一个特定的包,只安装在 Linux 或 Mac 上。根据pep496,我应该能够在需求文件中做这样的事情。

unicon; sys_platform == 'linux' or sys_platform  == 'darwin'
Run Code Online (Sandbox Code Playgroud)

这就是等效Pipfile部分的样子。

[packages]
requests = "*"
unicon = {version = "*", sys_platform = "== 'linux' or == 'darwin'"}
Run Code Online (Sandbox Code Playgroud)

这将创建一个Pipfile.lock没有错误但也没有任何标记信息的信息。从 Windows 安装时,它应该只是跳过尝试安装,unicorn但它没有,并且没有适用于 Windows 的 unicorn 版本,所以我收到安装错误。

我意识到我可能可以让事情变得简单,只是做,sys_platform = "!= 'win32'"但我想明确平台。

有没有in ['linux', 'darwin']办法做到这一点?

python pip pipenv pipfile

9
推荐指数
1
解决办法
1437
查看次数

如何在 Pipfile 中指定特定于操作系统的 Wheel 文件

我正在尝试使用 Pipenv 和 pytorch。

要在 Windows 中安装 pytorch,我必须将以下代码写入 Pipfile:

[packages]
torch = {file = "http://download.pytorch.org/whl/cpu/torch-0.4.1-cp37-cp37m-win_amd64.whl"}
Run Code Online (Sandbox Code Playgroud)

然而,linux 上的wheel 文件是不同的。

[packages]
torch = {file = "http://download.pytorch.org/whl/cpu/torch-0.4.1.post2-cp37-cp37m-linux_x86_64.whl "}
Run Code Online (Sandbox Code Playgroud)

如何在 Pipfile 中指定它们?

python pip pytorch pipenv pipfile

7
推荐指数
1
解决办法
2139
查看次数

如何在不创建 virtualenv 的情况下 pip 安装 Pipfile 编写的包?

我创建了一个包,包含Pipfile,我想用 docker 进行测试。

我想用 pip 安装用 Pipfile 编写的包,而不创建 virutalenv。

# (do something to create some-file)
RUN pip install (some-file)
Run Code Online (Sandbox Code Playgroud)

怎么做?

python pip docker pipfile

7
推荐指数
2
解决办法
9613
查看次数

文件“PyInstaller/loader/pyimod03_importers.py”,第 546 行,在 exec_module 中,ModuleNotFoundError:没有名为“x”的模块

编辑

我正在尝试导入包algosec.models内的文件algobot

我试过添加--hidden-import algosec,我也试过在导入之前添加路径,使用sys.path.append(./../algosec) 这是我尝试运行程序时收到的错误消息:

Traceback (most recent call last):
  File "algobot_packer/algobot.py", line 2, in <module>
  File "PyInstaller/loader/pyimod03_importers.py", line 546, in exec_module
  File "algobot/cli/cli.py", line 3, in <module>
  File "PyInstaller/loader/pyimod03_importers.py", line 546, in exec_module
  File "algobot/microsoft_teams/mainloop.py", line 9, in <module>
  File "PyInstaller/loader/pyimod03_importers.py", line 546, in exec_module
  File "algobot/framework/configuration.py", line 34, in <module>
  File "PyInstaller/loader/pyimod03_importers.py", line 546, in exec_module
  File "algobot/framework/commands.py", line 22, in <module>
  File "PyInstaller/loader/pyimod03_importers.py", line 546, in exec_module
  File "algobot/framework/bot.py", line …
Run Code Online (Sandbox Code Playgroud)

python pyinstaller python-3.x pipfile

6
推荐指数
1
解决办法
117
查看次数

如何将 setup.py/install_requires 中的值与 Pipfile/packages 同步

如果您在一个同时使用这两者的项目中工作,setup.py并且Pipfile您经常在:Pipfile/[packages]和 中发现相同的值setup.py/install_requires

有谁知道我怎么知道Pipfile使用setup.py/install_requiresfor 的值[packages]

python pipenv pipfile

5
推荐指数
1
解决办法
543
查看次数

执行 pipfile 脚本

如何执行 Pipfile 中定义的脚本?

按照此处找到的语法,我在 pipfile 中定义了脚本部分,如下所示:

[scripts]
tests = "bash ./run-tests.sh"
Run Code Online (Sandbox Code Playgroud)

运行后$ pipenv install,如何调用tests脚本?

我尝试了以下但没有成功:

$ tests

$ pipenv tests

$ pipenv run tests

$ pipenv shell (virtual env) $ tests

pipenv pipfile

5
推荐指数
1
解决办法
8824
查看次数

pipenv在pipfile中指定python的最低版本?

在pipenv中有没有一种方法可以在Pipfile中指定python的最低版本?

这样的事情行吗?

[requires]
python_version = ">=python 3.5"
Run Code Online (Sandbox Code Playgroud)

python pipenv pipfile

5
推荐指数
1
解决办法
1322
查看次数

如何用pipenv冻结需求?

例如,我们有一些pipfile(如下),我想冻结Django版本。我们没有require.txt,只使用pipenv。如何冻结django版本?

[[source]]
url = "https://pypi.org/simple"
verify_ssl = true
name = "pypi"

[packages]
django = "*"

[dev-packages]
black = "*"

[requires]
python_version = "3.6"
Run Code Online (Sandbox Code Playgroud)

python pipenv pipfile

5
推荐指数
5
解决办法
7215
查看次数

使用Pipenv安装本地依赖项的依赖项

背景

我们的项目具有以下高级目录结构*

./datascience/
??? core
?   ??? setup.py
??? notebooks
?   ??? Pipfile
??? web
    ??? Pipfile
Run Code Online (Sandbox Code Playgroud)

*为简洁起见,排除了所有不相关的文件和目录。

core软件包是一个库。它是notebooksweb应用程序的依存关系。

core程序包是一个库,其依赖项在setup.py

import setuptools

setuptools.setup(
    install_requires=[
        'some-dependency',
        'another-dependency'
    ]
)
Run Code Online (Sandbox Code Playgroud)

webnotebooks应用程序是使用pipenv依赖管理。它们的依赖关系在中指定Pipfile

例如,这是在web中指定依赖项的方式web/Pipfile

[packages]
datascience-core = {path = "./../core"}
flask = "~= 1.0"
Run Code Online (Sandbox Code Playgroud)

注意,core依赖关系是本地依赖关系,因此是相对路径。

问题

做一个pipenv install从内部webnotebooks目录,不安装的依赖性core如我所料库!

我还尝试使用Pipfilefor …

python dependency-management setup.py pipenv pipfile

5
推荐指数
1
解决办法
4688
查看次数