-
Notifications
You must be signed in to change notification settings - Fork 106
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
px4-dev: Try to move to Python 3 #199
Conversation
This will become problematic for the ROS containers. |
So how can we get ROS to Python 3? It's 2019... |
You can't (without a major effort). Just because it's EOL, doesn't mean it's obsolete. |
Alright but as @dagar suggested we can probably have Python 2 dependencies on higher level containers for ROS. |
In this repo, these Python 3 syntax errors should be fixed: $ flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
E901,E999,F821,F822,F823 are the "showstopper" flake8 issues that can halt the runtime with a SyntaxError, NameError, etc. These 5 are different from most other flake8 issues which are merely "style violations" -- useful for readability but they do not effect runtime safety.
|
Nice! PX4/PX4-Autopilot#13008 Today, there are 100 days until Python 2 end of life.
Just because it's EOL means that it is going to become an attack vector for evil doers because the Python Software Foundation and Python Core Team have been very clear that they will not even fix known security vulnerabilities after 1/1/2020.. |
@julianoes what about we keep Python2 together with Python3? I mean, instead of replacing, we duplicate the install steps for Python3 |
@TSC21 I would like to move to Python 3 as much as possible. Otherwise we'll be stuck with Python 2 forever. I suggest that add whatever Python 2 things are necessary for ROS in the ROS containers. |
Can we at least keep |
I wouldn't add dependencies that are not used in the same scope. Otherwise the next person will remove them again because it's not clear why they are there. Feel free to add commits to add what ROS requires. |
The problem is not just ROS: http://ci.px4.io:8080/blue/organizations/jenkins/PX4%2Fcontainers/detail/PR-199/2/pipeline/#step-104-log-33 |
Yes, it's a chicken and egg problem. It also requires PX4/PX4-Autopilot#12809. |
@julianoes instead of mutually excluding Python 2 and 3, let's for now keep Python 2 in the container and install Python 3 in parallel. Does that work for you? |
With 44 days left until Python 2 end of life, why not put Python 2 in the trash and install Python 3 everywhere? Python 3 has been in existence for 13+ years. |
Because we still have a "problem" called ROS ;) |
@julianoes I say we give this a shot and let it go through, so we can solve the chicken and egg problem. Then we address whatever it's required. Let's unblock this - can you please set the |
@TSC21 I think we need to release this and create a tag and then reference to this, right? |
I thought the Python 3 thing was already solved in ROS... apt-get install python3-rospkg python3-rospkg-modules python3-catkin-pkg python3-catkin-pkg-modules http://wiki.ros.org/rospkg |
Yep, but those are for ROS 2 ;) |
Yes. Just change the Jenkins stuff and I can do that immediately if you want. |
be72360
to
6fae8e9
Compare
ab279fd
to
dffeaa4
Compare
I am merging this now and tagging it so we can solve PX4/PX4-Autopilot#12809. |
This goes with PX4/PX4-Autopilot#12809.