On Wednesday, 16 January 2019 07:07:29 UTC, dieter  wrote:
> dcs3spp via Python-list <python-list@python.org> writes:
> > ...
> > So to manage the development of private packages, e.g. wheels, I would have 
> > to use my own private repository (something like devpi or a an alternative 
> > cloud pypi subscription service) to store each private dependency that I 
> > have written.
> 
> No, you do not need something like "devpi" (or similar).
> Instead, you can set up a "virtualenv" (there is a Python package
> which can build "virtualenv"s), and use "setuptool"'s "develop"
> "setup" command to "install" links to the package sources you
> currently have under development. "develop" will automatically
> install external requirements via "pypi".
> 
> > ...
> > However, if I wanted to take a step further and run a CI build using cloud 
> > services(e.g. in a private gitlab.com repository) for a package that uses 
> > the private packages, then presumably there is no access to the devpi 
> > repository on my local system? So, alternatively when developing private 
> > Python packages I either use requirements.txt or pay subscription for a 
> > private pypi cloud repository and configure pip, setup.cfg on gitlab.com CI 
> > to reference it in config files. When the CI build completes it pushes the 
> > package to the private pypi repository. 
> 
> I assume that you will be able to build an appropriate "virtualenv"
> in a CI build setup.

Thankyou for responding and thanks for your patience with this newbie dieter....

Ahhhh, so it is possible to use a virtualenv to pull in dependencies from 
setup.py ....

I have the setup.py below and the pyramid_core package surrounded by * in the 
requires list has own setup.py and virtual environment. I currently have 
pip.conf and setup.cfg etc. setup to pull this dependency from devpi repository.

How do I configure python setup.py develop to pull the pyramid_core dependent 
packages using virtualenv?


*************** setup.py ****************** 

import os 
import sys 

from setuptools import setup, find_packages 

here = os.path.abspath(os.path.dirname(__file__)) 
with open(os.path.join(here, 'README.md')) as f: 
    README = f.read() 
with open(os.path.join(here, 'CHANGES.md')) as f: 
    CHANGES = f.read() 

requires = [ 
    'cryptography', 
    'odfpy', 
    'PyJWT', 
    'pycrypto', 
    'pyramid', 
    *****   'pyramid_core',  *******   
    requirements.txt file? 
    'pyramid_debugtoolbar', 
    'pyramid_tm', 
    'requests==2.18.4', 
    'SQLAlchemy', 
    'transaction', 
    'zope.sqlalchemy', 
    'waitress', 
    'psycopg2-binary', 
    'python-dateutil', 
    'uwsgi', 
    'marshmallow-sqlalchemy', 
    ] 

setup_requires = [ 
    'pytest-runner', 
] 

tests_require = [ 
    'boto3', 
    'lovely-pytest-docker', 
    'pytest', 
    'pytest-cov', 
    'tuspy', 
    'WebTest >= 1.3.1', 
] 

setup(name='api', 
      version='0.0', 
      description='api', 
      long_description=README + '\n\n' + CHANGES, 
      classifiers=[ 
          "Programming Language :: Python", 
          "Framework :: Pyramid", 
          "Topic :: Internet :: WWW/HTTP", 
          "Topic :: Internet :: WWW/HTTP :: WSGI :: Application", 
      ], 
      author='simon pears', 
      author_email='roughlea-mu...@outlook.com', 
      url='', 
      keywords='web wsgi bfg pylons pyramid', 
      packages=find_packages('src'), 
      package_dir={'': 'src'}, 
      include_package_data=True, 
      zip_safe=False, 
      extras_require={ 
          'testing': tests_require, 
      }, 
      install_requires=requires, 
      setup_requires=setup_requires, 
      tests_require=tests_require, 
      test_suite='tests', 
      entry_points="""\ 
      [paste.app_factory] 
      main = api:main 
      [console_scripts] 
      initialize_api_db = api.scripts.initializedb:main 
      """, 
      )
-- 
https://mail.python.org/mailman/listinfo/python-list

Reply via email to