title: Parse error in pip: "'-e git+h'": Expected W:(abcd...)
body: <p>I have a private python package, <code>hidden</code>. In that package, I'd like to use another private package of mine, <code>zempy</code>.</p>
  <p>In hidden's requirements, there is a line</p>
  <pre class="lang-none prettyprint-override"><code>git+https://gitlab.com/group/zempy.git@0.4.7#egg=zempy
  </code></pre>
  <p>...which I've also tried writing as:</p>
  <pre class="lang-none prettyprint-override"><code>-e git+https://gitlab.com/group/zempy.git@0.4.7#egg=zempy
  </code></pre>
  <p>And I'm installing hidden with <code>python3 -m pip install .</code> or <code>python3 -m pip install -e .</code> (in hidden's main directory)</p>
  <p>But I got an error:</p>
  <blockquote>
  <p>error in hiddenco setup command: 'install_requires' must be a string or list of strings containing valid project/version requirement specifiers; Parse error at &quot;'-e git+h'&quot;: Expected W:(abcd...)</p>
  </blockquote>
  <p>This seemed like working before. Suddenly it stopped working. Anyone has an idea? I have tried nearly everything in that requirements line. It's installing without that line. But I need zempy in hidden.</p>
  <p>I have double checked install_requires parameter in setup. It is a list of string.</p>
  <p>The <code>setup.py</code> in hidden:</p>
  <pre class="lang-py prettyprint-override"><code>&quot;&quot;&quot;Setuptools for hidden package.&quot;&quot;&quot;
  from glob import glob
  from os.path import basename, splitext
  
  import setuptools
  from setuptools import setup
  
  
  def readme():
      &quot;&quot;&quot;Return readme as string.&quot;&quot;&quot;
      with (open('README.md')) as f:
          return f.read()
  
  
  def get_requirements():
      &quot;&quot;&quot;
      Return requirements as list.
  
      package1==1.0.3
      package2==0.0.5
      &quot;&quot;&quot;
      with open('requirements.txt') as f:
          return [line.replace('\n', '') for line in f.readlines()]
  
  
  setup(
      name='hiddenco',
      long_description=readme(),
      packages=setuptools.find_packages('src'),
      package_dir={'': 'src'},
      install_requires=get_requirements(),
      py_modules=[splitext(basename(path))[0] for path in glob('src/*.py')],
      include_package_data=True,
      zip_safe=False,
      python_requires='&gt;=3.6, !=3.9.*, !=3.10.*'
  )
  </code></pre>
  <p>And the <code>requirements.txt</code>:</p>
  <pre><code>coloredlogs
  pymongo &gt;=3.7.2
  fasttext==0.9.2
  pytest &gt;=6.1.2
  pandas &lt;=1.5.0
  numpy &gt;=1.16.1, &lt;=1.19.5
  -e git+https://gitlab.com/group/zempy.git@0.4.7#egg=zempy
  </code></pre>