Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pip using python2 even if running build script with python3 #147

Closed
koliyo opened this issue Jan 30, 2018 · 5 comments · Fixed by #347
Closed

Pip using python2 even if running build script with python3 #147

koliyo opened this issue Jan 30, 2018 · 5 comments · Fixed by #347
Assignees

Comments

@koliyo
Copy link

koliyo commented Jan 30, 2018

If I start my build script like this

python3 build.py --build outdated

It will still use pip2 to install the conan packages, see packager.py

self.runner('%s pip install %s' % (self.sudo_command, self.conan_pip_package))

Assuming pip == pip2, which it normally is

@lasote lasote added bug labels Feb 2, 2018
@lasote
Copy link
Contributor

lasote commented Feb 2, 2018

I assume that it is hard to know which one to execute, I could add a parameter to specify the "pip" command to run. WDYT?

@koliyo
Copy link
Author

koliyo commented Feb 3, 2018

Yes, a parameter/environment variable would be helpful. Even better would be automatic detection, but that might be a bit tricky if the naming of python/pip binaries are not standardized across platforms.

To detect the running environment you can use sys.version_info, and if that is version 3, then try using pip3, otherwise pip2. Maybe you need something like this to check if the those binares are available. If not, fall back to pip.

@Croydon
Copy link
Contributor

Croydon commented Oct 11, 2018

Since we started moving the build tools slowly to Python 3 this might become obsolete.

@jgsogo
Copy link
Contributor

jgsogo commented Oct 14, 2018

What about...?

import pip

pip.main(['install', 'whatever'])

or pip._internal.main depending on python version.

or running <path/to/python> -m pip ... where <path/to/python> = sys.executable.

@theodelrieu
Copy link

theodelrieu commented Nov 15, 2018

I'd like to get this feature as well 😄

@uilianries uilianries self-assigned this Mar 14, 2019
uilianries added a commit to uilianries/conan-package-tools that referenced this issue Mar 14, 2019
- Add env var CONAN_PIP_COMMAND which allows to run a specific
  pip version, or even a pip binary path.

Signed-off-by: Uilian Ries <uilianries@gmail.com>
uilianries added a commit to uilianries/conan-package-tools that referenced this issue Mar 14, 2019
- To avoid command injection, the custom pip command will be checked

Signed-off-by: Uilian Ries <uilianries@gmail.com>
uilianries added a commit to uilianries/conan-package-tools that referenced this issue Mar 14, 2019
- Check for current pip version before to customize CONAN_PIP_COMMAND

Signed-off-by: Uilian Ries <uilianries@gmail.com>
uilianries added a commit to uilianries/conan-package-tools that referenced this issue Mar 14, 2019
Signed-off-by: Uilian Ries <uilianries@gmail.com>
uilianries added a commit to uilianries/conan-package-tools that referenced this issue Mar 14, 2019
Signed-off-by: Uilian Ries <uilianries@gmail.com>
@settings settings bot removed bug labels Mar 15, 2019
uilianries added a commit to uilianries/conan-package-tools that referenced this issue Mar 15, 2019
Signed-off-by: Uilian Ries <uilianries@gmail.com>
lasote pushed a commit that referenced this issue Mar 19, 2019
* #147 Support custom PIP command

- Add env var CONAN_PIP_COMMAND which allows to run a specific
  pip version, or even a pip binary path.

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #147 Check pip command before to run

- To avoid command injection, the custom pip command will be checked

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #147 Test dynamic pip version

- Check for current pip version before to customize CONAN_PIP_COMMAND

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #147 Ignore which pip on Windows

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #147 pip install quiet mode

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #147 Try to fix Windows tests

Signed-off-by: Uilian Ries <uilianries@gmail.com>
lasote added a commit that referenced this issue Mar 29, 2019
* allow passing user-specified Docker args during create step

* rename parameter

* mention CONAN_DOCKER_RUN_OPTIONS envvar in readme

* add tests

* #343 Improve docker integration test

- Fix conan_pip_package. It should be a str by default
- Pass original printer to be re-used by Docker runner
- Add integration test to validate docker run options

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #343 Fix skip test when running docker

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* Add GitHub settings (#345) (#349)

* Add GitHub settings

- Use standard Conan tags for issues
- Add stale config for timeout bot
- Add issue template

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* Use Github settings from conanio/docs

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #345 Add PR template

- Add PR template to generate the changelog
- Add the contributing guide

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* Trigger Github Settings (#352)

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #336 Forward login method (#344)

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* Upload package dependencies (#334)

* #237 Update README

- Add description about the new feature

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #237 Upload all dependencies

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #237 Unit test to upload all deps

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #237 Fix env var name

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #237 Fix upload dependencies

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #237 Upload only built packages

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #237 Only upload when package is available

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* Accept custom pip command (#347)

* #147 Support custom PIP command

- Add env var CONAN_PIP_COMMAND which allows to run a specific
  pip version, or even a pip binary path.

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #147 Check pip command before to run

- To avoid command injection, the custom pip command will be checked

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #147 Test dynamic pip version

- Check for current pip version before to customize CONAN_PIP_COMMAND

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #147 Ignore which pip on Windows

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #147 pip install quiet mode

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #147 Try to fix Windows tests

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #277 Accept Docker arguments as list

- both string and list are accepted as docker arguments
- Update docker test to use list

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #277 Fix options when downloading docker image

- Docker is executed in two cases. The first one is when
  we need to download the docker image and patch with the
  newest Conan version. The options were skipped there

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #354 Add CONAN_CONANFILE option (#357)

* #354 Add CONAN_CONANFILE option

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #354 Add option description on README

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #354 Support CONAN_CONANFILE option

- Add full support for custom conanfile name
- Add tests

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #354 Fix boolean option

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #355 Skip check credentials is boolean (#356)

- Parse the env var CONAN_SKIP_CHECK_CREDENTIALS as boolean

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* fix azure pipelines branch detection (#346)

use variable BUILD_SOURCEBRANCH
BUILD_SOURCEBRANCHNAME only has the part after last /

* Feature/upload only recipe (#348)

* #153 Upload only the recipe

- Add CONAN_UPLOAD_ONLY_RECIPE env var, which set to skip
  all binary packages upload.

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #153 Test upload only the recipe

- get boolean value from environment variable is non-case sensitive now

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #153 Fix upload recipe argument

@madebr found a bug where the argument is wrong.

Co-Authored-By: uilianries <uilianries@gmail.com>

* #153 Fix unit test for upload recipe

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #153 Add test to check parameters

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #153 Fix conflict in README file

* Update Docker run example

- Use custom Docker network instead of using custom cache.

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* Prepared for 1.15

* 0.25.0

* 1.15.0

* Fix Tox version (#364)

- Tox 3.8.1 is totally broken

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #361 Upload package with revisions (#363)

* #361 Upload package with revisions

- Package reference passed to be created is not the same
  retrieved from package id when the package is built.
  "foo/0.1@bar/testing" != "foo/0.1@bar/testing#<hash>"

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #361 Parse revision

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* Fix broken tests for release 0.25.0 (#365)

* Fix broken tests for release 0.25.0

- Release branch is fragile, only specific tests are able to run,
  or even CPT behavior could change during the tests.

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* Run Docker test as regular test

- Do not require Bintray account to run docker tests

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* Clean some stuff and improve test running in local
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants