How do I have to declare a pip package in the envi...
# linting
f
How do I have to declare a pip package in the environment.yml to fix the linting:
Copy code
╭─ [✗] 1 Module Test Failed ──────────────────────────────────────────────────────────────────────────────────────────────────────╮
│                 ╷                                                ╷                                                              │
│ Module name     │ File path                                      │ Test message                                                 │
│╶────────────────┼────────────────────────────────────────────────┼─────────────────────────────────────────────────────────────╴│
│ crabs/dbimport  │ modules/nf-core/crabs/dbimport/environment.yml │ The environment.yml of the module crabs/dbimport is not      │
│                 │                                                │ valid: {'pip': ['crabs==0.2']} is not of type 'string'.      │
│                 │                                                │ Check the entry for dependencies.                            │
│                 ╵                                                ╵                                                              │
╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
Current environment file:
Copy code
name: crabs_dbimport
channels:
  - conda-forge
  - bioconda
dependencies:
  - wget=1.21.3
  - muscle=3.8.31
  - cutadapt>=4.0
  - vsearch>=2.13.3
  - pip>=23.2
  - pip:
      - crabs==0.2
n
Another issue in the env JSON schema 😛 I'll see if I can fix it
👍 1
https://github.com/nf-core/modules/pull/6588 => it could be controversial though 😛
👀 1
f
I mean it makes sense to allow pip packages, no?
Should I approve and we merge 🤔
n
Yep but I also added the requirement for version pinning
😄 1
so please wait a bit, I informed the maintainers 😛
👍 1
f
Can we go ahead with your PR? 🙂 I think it was approved, right?
n
yeah sorry I was busy and forgot to merge 😛 doing that right now!
👍 1
f
I was just careful haha, thanks!
n
thanks for reminding me 🙂
n
yes that's intended. You need to hardpin your versions (just use the ones from the container). This to ensure full reproducibility between conda and the containers
f
I copy-pasted the environment from the wave container
That is why I am confused
n
Yeah sorry we discussed this in the maintainers group (that's the reason it took so long to merge it in)
f
ok so even the pip version I guess
n
yes indeed 😛
👍 1
f
When I do that and run lint locally I get: TypeError: '<' not supported between instances of 'dict' and 'str'
n
Can you show me what you have?
f
This is the env file
Copy code
channels:
  - conda-forge
  - bioconda
dependencies:
  - bioconda::cutadapt=4.9
  - bioconda::muscle=3.8.31
  - bioconda::vsearch=2.28.1
  - conda-forge::wget=1.20.3
  - conda-forge::pip=24.2
  - pip:
      - crabs==0.2.0
n
it looks fine hmmm
f
I added everything here
Same error in the CI
n
That seems like an issue in tools. It seems like there is no pip support for that 😕 can you bring this up in #CE5LG7WMB ?
👍 1
c
I also get this in, https://github.com/nf-core/modules/pull/6526. Can make it run fine in conda now, but fails in linting.