Chalice: Conda Virtual Environments?

Created on 8 Aug 2016  路  4Comments  路  Source: aws/chalice

Will there be Conda Virtual Environment support eventually?

closing-soon-if-no-response

Most helpful comment

We are also interested in this. I'm getting some interesting errors when attempting chalice deploy.

anaconda docs
anaconda download

鈺扳攢$ chalice deploy
Initial creation of lambda function.
Updating IAM policy.
Creating deployment package.
Traceback (most recent call last):
  File "//anaconda/bin/chalice", line 11, in <module>
    sys.exit(main())
  File "//anaconda/lib/python2.7/site-packages/chalice/cli/__init__.py", line 348, in main
    return cli(obj={})
  File "//anaconda/lib/python2.7/site-packages/click/core.py", line 716, in __call__
    return self.main(*args, **kwargs)
  File "//anaconda/lib/python2.7/site-packages/click/core.py", line 696, in main
    rv = self.invoke(ctx)
  File "//anaconda/lib/python2.7/site-packages/click/core.py", line 1060, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "//anaconda/lib/python2.7/site-packages/click/core.py", line 889, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "//anaconda/lib/python2.7/site-packages/click/core.py", line 534, in invoke
    return callback(*args, **kwargs)
  File "//anaconda/lib/python2.7/site-packages/click/decorators.py", line 17, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "//anaconda/lib/python2.7/site-packages/chalice/cli/__init__.py", line 207, in deploy
    d.deploy(config)
  File "//anaconda/lib/python2.7/site-packages/chalice/deployer.py", line 271, in deploy
    self._lambda_deploy.deploy(config)
  File "//anaconda/lib/python2.7/site-packages/chalice/deployer.py", line 567, in deploy
    function_arn = self._first_time_lambda_create(config)
  File "//anaconda/lib/python2.7/site-packages/chalice/deployer.py", line 655, in _first_time_lambda_create
    config.project_dir)
  File "//anaconda/lib/python2.7/site-packages/chalice/deployer.py", line 403, in create_deployment_package
    self._create_virtualenv(venv_dir)
  File "//anaconda/lib/python2.7/site-packages/chalice/deployer.py", line 392, in _create_virtualenv
    virtualenv.main()
  File "//anaconda/lib/python2.7/site-packages/virtualenv.py", line 713, in main
    symlink=options.symlink)
  File "//anaconda/lib/python2.7/site-packages/virtualenv.py", line 945, in create_environment
    download=download,
  File "//anaconda/lib/python2.7/site-packages/virtualenv.py", line 901, in install_wheel
    call_subprocess(cmd, show_stdout=False, extra_env=env, stdin=SCRIPT)
  File "//anaconda/lib/python2.7/site-packages/virtualenv.py", line 797, in call_subprocess
    % (cmd_desc, proc.returncode))
OSError: Command /Users/bob/Developme...lice/venv/bin/python - setuptools pip wheel failed with error code 1

All 4 comments

I'm not familiar with conda virtual environments. What's involved in supporting a conda virtual environment?

We are also interested in this. I'm getting some interesting errors when attempting chalice deploy.

anaconda docs
anaconda download

鈺扳攢$ chalice deploy
Initial creation of lambda function.
Updating IAM policy.
Creating deployment package.
Traceback (most recent call last):
  File "//anaconda/bin/chalice", line 11, in <module>
    sys.exit(main())
  File "//anaconda/lib/python2.7/site-packages/chalice/cli/__init__.py", line 348, in main
    return cli(obj={})
  File "//anaconda/lib/python2.7/site-packages/click/core.py", line 716, in __call__
    return self.main(*args, **kwargs)
  File "//anaconda/lib/python2.7/site-packages/click/core.py", line 696, in main
    rv = self.invoke(ctx)
  File "//anaconda/lib/python2.7/site-packages/click/core.py", line 1060, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "//anaconda/lib/python2.7/site-packages/click/core.py", line 889, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "//anaconda/lib/python2.7/site-packages/click/core.py", line 534, in invoke
    return callback(*args, **kwargs)
  File "//anaconda/lib/python2.7/site-packages/click/decorators.py", line 17, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "//anaconda/lib/python2.7/site-packages/chalice/cli/__init__.py", line 207, in deploy
    d.deploy(config)
  File "//anaconda/lib/python2.7/site-packages/chalice/deployer.py", line 271, in deploy
    self._lambda_deploy.deploy(config)
  File "//anaconda/lib/python2.7/site-packages/chalice/deployer.py", line 567, in deploy
    function_arn = self._first_time_lambda_create(config)
  File "//anaconda/lib/python2.7/site-packages/chalice/deployer.py", line 655, in _first_time_lambda_create
    config.project_dir)
  File "//anaconda/lib/python2.7/site-packages/chalice/deployer.py", line 403, in create_deployment_package
    self._create_virtualenv(venv_dir)
  File "//anaconda/lib/python2.7/site-packages/chalice/deployer.py", line 392, in _create_virtualenv
    virtualenv.main()
  File "//anaconda/lib/python2.7/site-packages/virtualenv.py", line 713, in main
    symlink=options.symlink)
  File "//anaconda/lib/python2.7/site-packages/virtualenv.py", line 945, in create_environment
    download=download,
  File "//anaconda/lib/python2.7/site-packages/virtualenv.py", line 901, in install_wheel
    call_subprocess(cmd, show_stdout=False, extra_env=env, stdin=SCRIPT)
  File "//anaconda/lib/python2.7/site-packages/virtualenv.py", line 797, in call_subprocess
    % (cmd_desc, proc.returncode))
OSError: Command /Users/bob/Developme...lice/venv/bin/python - setuptools pip wheel failed with error code 1

Seems like it is related to an open issue in conda.

Conda issue 1367

Downgrading to 2.7.9 fixes the issue. They are attempting to resolve this.

I encountered this problem at MacOS Sierra 10.12.2. (same OSError when installing pip, but with error message of "....Symbol not found: __PyCodecInfo_GetIncrementalDecoder")

I solved my problem by a command like this:

cp /System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload/_io.so test2env/lib/python2.7/lib-dynload

where test2env is the created virtual-env folder by "virtualenv test2env". Previously the command "virtualenv test2env" failed, so that there was no "pip" in the test2env/bin folder. And the created python failed to "import io"

But after the copy, this command succeeded:

test2env/bin/python -m "import io"

The magic is that, after the copy, any new "virtualenv <folder>" command succeeded. I have no idea why, but it did happen to me.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

davidolmo picture davidolmo  路  3Comments

AtaruOhto picture AtaruOhto  路  3Comments

mrdavidhanson picture mrdavidhanson  路  3Comments

stannie picture stannie  路  4Comments

calz1 picture calz1  路  3Comments