Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 5 years ago.
Improve this question
I need some general advice here. In our (large) company we have an already established test and build infrastructure that is based on MS TFS to build and test our products. Quick facts:
mostly C++ and C# code
system-level software
relying on lots of pre-configured build agents
supported by folks with TFS expertise
For a new Python project (which is not a web-app either) we need to set up a CI. My idea is to piggy-back on the existing unified infrastructure and take advantage of Docker container. Here is my idea: on every check-in into Python project's repository launch a dedicated TFS build which
pulls the code
builds a Docker container or image
runs the tests inside it
and...?
And here is the question: what is the best way to interact with the outside world? How would you advice to push results out if we're not planning to build a web-app? Ideally I would like to keep only the failed tests' artifacts while not even keeping all those containers from every check-in.
Related
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 11 months ago.
Improve this question
We have a C++ web service that helps manage and run scripts for users. We have to offer 2 APIs:
RegisterScript API: Users can register scripts for a variety of languages(Python, Ruby, JavaScript etc.) through this api
RunScript API: Users can run their previously registered scripts through this API
Right now we’re not sure how we would go about this, any pointers would be nice but we’d prefer a solution that:
Doesn’t have to start an OS process for every RunScript invocation
Doesn’t rely on running shell commands from C++
Preferably there’s an open source library/framework with support for multiple languages out of the box?
Thanks!
Jessica
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 3 years ago.
Improve this question
I am a software architect with 23 years commercial experience in C++/C#/Python/Cython. I was forced into using VSCode rather than PyCharm becasue I had to debug some particularly tricky Django templates. I use several machines, one of which is a production test machine. I changed 1 line of code while logged on there and pushed it because it was critical. Now my Git is totally screwed. I have have worked with sourcesafe and clearcase over the years, and I do not have a problem with Git however VSCode has rendered my setup useless.
I now have to save log data on my production test box, wipe the prod folder and reinstall all the code from scratch from Git. This is about a day's work and should not be necessary.
I was warming to VSCode but I will change the way I work until VSCode/Git integration is improved enormously. I will code using VSCode but at any point I want to pull, push, fetch or merge, I will switch to the community edition of PyCharm. PyCharm handles source control like a dream but I don't want to do my day-to-day development with it.
Anybody else out there having similar problems? I simply don't have the time to write a VSCode extension to handle Git properly. I have an end-of-Septemebr deadline and I simply can't have this happen again.
Any feedback is most welcome.
/Luke
For the most part, I just use command line git integration.
However, for large projects or for particularly tricky merge conflicts or other problems, you could use third party git clients such as Source Tree (what I use) or GitKraken. These offer a host of features with nice interfaces.
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 3 years ago.
Improve this question
NOTE: System will not be connected to a network
I'm automating a device and need to create a script that will communicate with the micro-controller (to drive the motors) and with the original software (Thermo Fisher Scientific). The original software has a GUI interface but no API.
My original thought was to write a python script to first set the motors to the correct position -> then run the software -> save the data -> repeat.
I know how to communicate with the micro-controller to set the motors, but I'm unsure of how to communicate with the original software. Any advice on how to do this with python would be much appreciated.
Alternative methods are also welcome.
Thanks.
I have used AutoIt to solve similar problems. There is a Python extension available (I have never used this).
AutoIt v3 is designed for automating the Windows GUI and general scripting. It uses a combination of simulated keystrokes, mouse movement and window/control manipulation in order to automate tasks.
When using the python extension you will be able to directly interact with the GUI app from your source code.
Alternatively you can also just build an Autoit executable to drive the software if the input into the GUI software is always the same.
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 9 years ago.
Improve this question
I'm trying to transfer from using PHP to Python, Im looking to change to Python as it seems a much more versatile language able to work across a range of scenarios. The sort of things i plan to use it for range from web app development (using django), NLP, machine learning and automation using mechanize.
One of the things I really liked about PHP was MAMP, the way it creates an htdocs folder, a localhost:8888 url, and a MySQL server, with pretty much 0 effort.
Is there something similar with Python ? I'm not necessarily looking for a GUI like MAMP (although that would be good) - what are the other options for setting up a local environment?
Python excels in this area, but as with most tools exactly what you do depends on what you want. In particular, you certainly want virtualenv, Python's configuration and dependency -isolation tool.
You may also want a development-configuration management tool such as buildout, but that is more controversial as there are many other great, language-agnostic tools that overlap. (For example, you may want to set up your environment using Vagrant and leave your host OS behind.)
Neither virtualenv nor buildout will set up Apache for you OotB, but you do have the option of installing django, zope, or many other Python frameworks and applications with buildout recipes. There are recipes for apache too, but most Python web development that I know of is agnostic of the httpd, so you might end up not wanting it.
Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 9 years ago.
Improve this question
I am trying to understand docker.io LXC container for a while,but if we consider fedora's devassistant tool and virtualenv then virtualenv will do the work of isolation and devassistant will download all the needed dependency by interpreting the setup configuration file.so its like by using two keyword commands on terminal like we almost setup a developer environment of Openstack or lets say large multi-repository project within minutes taking into consideration to use right tool for the right job.so how is docker different?
virtualenv only does isolation for python environments, it doesn't do process isolation.
I'm not familiar with fedora's devassistant but I'm pretty sure those changes are system wide. What if on the same server you want to run, python, ruby, java, and node.js apps? There might be conflicting requirements at the system level.
With Docker, this is easy because each app has it's own container and they can put what ever you want in there, and they don't interfere with each other. Think of docker like this. It is giving each application it's own VM (container) to live in, it is similar to setting up a physical server and installing different virtualbox servers on it, one for each application. But it is much more lightweight and you can run it on both physical and virtual hosts.
You can also move the docker containers from one docker compatible server to another really easily.