phausamann: @nicoddemus seems like 2.1.0 is missing from the changelog?
diff --git a/CHANGELOG.rst b/CHANGELOG.rst
index bc3e447..1cd5d4a 100644
--- a/CHANGELOG.rst
+++ b/CHANGELOG.rst
@@ -2,12 +2,20 @@
 CHANGELOG
 =========
 
+2.1.1 (2020-08-13)
+------------------
+
+* Correctly handle editable installs when using pip dependencies (`#113`_).
+
+.. _`#113`: https://github.com/ESSS/conda-devenv/issues/113
+
 2.1.0 (2020-06-26)
 ------------------
 
 * New ``get_env`` function to handle environment variables in Jinja contexts so it conveys
   better error messages in case of missing/invalid environment variables.
 
+
 2.0.0 (2020-06-08)
 ------------------
 
diff --git a/conda_devenv/devenv.py b/conda_devenv/devenv.py
index 621c0f8..36bd35d 100644
--- a/conda_devenv/devenv.py
+++ b/conda_devenv/devenv.py
@@ -252,10 +252,11 @@ def merge_dependencies_version_specifications(yaml_dict, key_to_merge, pip=False
                 )
             new_dict_dependencies.append(dep)
         elif isinstance(dep, str):
-            if pip and ("+" in dep or ":" in dep):
+            if pip and ("+" in dep or ":" in dep or dep.startswith("-")):
                 # Look for dependencies in the pip section that are
-                # managed by version control.  For example:
+                # managed by version control or contain flags.  For example:
                 #   hg+ssh://hg@bitbucket.org/mforbes/mmfutils-fork@0.4.12
+                #   --editable path/to/local/package
                 # Skip processing these and just pass them through
                 package_name = dep
                 package_version = ""

Incorrect rendering of pip dependencies with flags
Defining multiple dependencies in the `pip` section with flags such as  `--editable/-e`:

```
dependencies:
- pip:
  - --editable path/to/first/package
  - --editable path/to/second/package
name: pip_editable_test
```

generates this:

```
dependencies:
- pip:
  - --editable path/to/first/package,path/to/second/package
name: pip_editable_test
```

which causes `pip` to fail because of the comma. And even replacing the comma with a space produces an incorrect result because only the first dependency is installed as editable.
diff --git a/tests/test_merge.py b/tests/test_merge.py
index 3b8454c..e16ae15 100644
--- a/tests/test_merge.py
+++ b/tests/test_merge.py
@@ -133,12 +133,15 @@ def test_merge_dependencies_version_specifications_errors():
 
 
 def test_merge_dependencies_version_specifications_pip_dependencies():
-    """Regression test for issue #91 and #92."""
+    """Regression test for issue #91, #92 and #113."""
     merged_dict = {
         "dependencies": [
             "pip",
             {
                 "pip": [
+                    # issue #113
+                    "--editable path/to/first/package",
+                    "--editable path/to/second/package",
                     # issue #92
                     "ConfigAndParse ==0.15.2",
                     # issue #91

pip install -e .[testing,docs]
parse_log_pytest
requirements.txt
pytest pytest-cov pytest-mock codecov
3.9
requirements/base.txt
pytest --no-header -rA --tb=line --color=no -p no:cacheprovider -W ignore::DeprecationWarning
certifi==2025.1.31
charset-normalizer==3.4.1
codecov==2.1.13
-e git+https://github.com/ESSS/conda-devenv.git@1d57f4922384c7c3f3938ba140d9d2bd775e045f#egg=conda_devenv
coverage==7.8.0
exceptiongroup==1.2.2
idna==3.10
iniconfig==2.1.0
Jinja2==3.1.6
MarkupSafe==3.0.2
packaging==24.2
pluggy==1.5.0
pytest==8.3.5
pytest-cov==6.0.0
pytest-mock==3.14.0
PyYAML==6.0.2
requests==2.32.3
tomli==2.2.1
urllib3==2.3.0

name: conda-devenv
channels:
  - defaults
  - https://repo.anaconda.com/pkgs/main
  - https://repo.anaconda.com/pkgs/r
  - conda-forge
dependencies:
  - _libgcc_mutex=0.1=main
  - _openmp_mutex=5.1=1_gnu
  - ca-certificates=2025.2.25=h06a4308_0
  - ld_impl_linux-64=2.40=h12ee557_0
  - libffi=3.4.4=h6a678d5_1
  - libgcc-ng=11.2.0=h1234567_1
  - libgomp=11.2.0=h1234567_1
  - libstdcxx-ng=11.2.0=h1234567_1
  - ncurses=6.4=h6a678d5_0
  - openssl=3.0.16=h5eee18b_0
  - pip=25.0=py39h06a4308_0
  - python=3.9.21=he870216_1
  - readline=8.2=h5eee18b_0
  - setuptools=75.8.0=py39h06a4308_0
  - sqlite=3.45.3=h5eee18b_0
  - tk=8.6.14=h39e8969_0
  - tzdata=2025a=h04d1e81_0
  - wheel=0.45.1=py39h06a4308_0
  - xz=5.6.4=h5eee18b_1
  - zlib=1.2.13=h5eee18b_1
  - pip:
      - certifi==2025.1.31
      - charset-normalizer==3.4.1
      - codecov==2.1.13
      - coverage==7.8.0
      - exceptiongroup==1.2.2
      - idna==3.10
      - iniconfig==2.1.0
      - jinja2==3.1.6
      - markupsafe==3.0.2
      - packaging==24.2
      - pluggy==1.5.0
      - pytest==8.3.5
      - pytest-cov==6.0.0
      - pytest-mock==3.14.0
      - pyyaml==6.0.2
      - requests==2.32.3
      - tomli==2.2.1
      - urllib3==2.3.0
prefix: /opt/conda/envs/conda-devenv

tests/test_merge.py::test_merge_dependencies_version_specifications_pip_dependencies
tests/test_merge.py::test_merge_plain tests/test_merge.py::test_merge_dependencies_with_pip tests/test_merge.py::test_separate_strings_from_dicts tests/test_merge.py::test_merge_empty_dependencies tests/test_merge.py::test_merge_dependencies_version_specifications_plain tests/test_merge.py::test_merge_dependencies_version_specifications_errors tests/test_merge.py::test_merge_error_can_not_merge
CHANGELOG.rst conda_devenv/devenv.py
CHANGELOG.rst conda_devenv/devenv.py