diff --git a/Algebra-Solver/requirements.txt b/Algebra-Solver/requirements.txt
new file mode 100644
index 0000000..ded0ee7
--- /dev/null
+++ b/Algebra-Solver/requirements.txt
@@ -0,0 +1 @@
+sympy
diff --git a/Artificial-intelligence_bot/requirements.txt b/Artificial-intelligence_bot/requirements.txt
new file mode 100644
index 0000000..787f04d
--- /dev/null
+++ b/Artificial-intelligence_bot/requirements.txt
@@ -0,0 +1 @@
+aiml
diff --git a/Codechef-Code-Submitter/requirements.txt b/Codechef-Code-Submitter/requirements.txt
new file mode 100644
index 0000000..7cb6656
--- /dev/null
+++ b/Codechef-Code-Submitter/requirements.txt
@@ -0,0 +1 @@
+selenium
diff --git a/Color_to_BW_Converter/requirements.txt b/Color_to_BW_Converter/requirements.txt
new file mode 100644
index 0000000..7e2fba5
--- /dev/null
+++ b/Color_to_BW_Converter/requirements.txt
@@ -0,0 +1 @@
+Pillow
diff --git a/CricBuzz_Score_Update/requirements.txt b/CricBuzz_Score_Update/requirements.txt
new file mode 100644
index 0000000..c1f5f71
--- /dev/null
+++ b/CricBuzz_Score_Update/requirements.txt
@@ -0,0 +1 @@
+beautifulsoup4
diff --git a/Crypt_Socket/requirements.txt b/Crypt_Socket/requirements.txt
new file mode 100644
index 0000000..4bde159
--- /dev/null
+++ b/Crypt_Socket/requirements.txt
@@ -0,0 +1 @@
+simple-crypt
diff --git a/Current_City_Weather/requirements.txt b/Current_City_Weather/requirements.txt
new file mode 100644
index 0000000..f229360
--- /dev/null
+++ b/Current_City_Weather/requirements.txt
@@ -0,0 +1 @@
+requests
diff --git a/Excel_to_ListofList/requirements.txt b/Excel_to_ListofList/requirements.txt
new file mode 100644
index 0000000..1a6410a
--- /dev/null
+++ b/Excel_to_ListofList/requirements.txt
@@ -0,0 +1 @@
+xlrd
diff --git a/File-Explorer-Dialog-Box/requirements.txt b/File-Explorer-Dialog-Box/requirements.txt
new file mode 100644
index 0000000..2d07ca0
--- /dev/null
+++ b/File-Explorer-Dialog-Box/requirements.txt
@@ -0,0 +1 @@
+PyQt5
diff --git a/HTML_Table_to_List/README.md b/HTML_Table_to_List/README.md
index c02627a..6c58893 100644
--- a/HTML_Table_to_List/README.md
+++ b/HTML_Table_to_List/README.md
@@ -3,7 +3,7 @@ A simple tool which takes a HTML table as string, and converts it to python list
## Libraries Required
1. Beautiful Soap
-`$pip install bs4`
+`$pip install beautifulsoup4`
## Usage
-A sample script `html_table_to_list_usage.py` has been provided to show the usage of the HTMLTableToList. It takes a string of html table, and prints the corresponding list of list.
\ No newline at end of file
+A sample script `html_table_to_list_usage.py` has been provided to show the usage of the HTMLTableToList. It takes a string of html table, and prints the corresponding list of list.
diff --git a/HTML_Table_to_List/html_table_to_list_usage.py b/HTML_Table_to_List/html_table_to_list_usage.py
index d7f1b7b..a5bf945 100644
--- a/HTML_Table_to_List/html_table_to_list_usage.py
+++ b/HTML_Table_to_List/html_table_to_list_usage.py
@@ -32,4 +32,4 @@ html_table_string = """
htmltabletolist = HTMLTableToList(html_table_string) ## args : HTML table as string
list_of_list = htmltabletolist.get_list()
-pprint(list_of_list)
\ No newline at end of file
+pprint(list_of_list)
diff --git a/HTML_Table_to_List/requirements.txt b/HTML_Table_to_List/requirements.txt
new file mode 100644
index 0000000..c1f5f71
--- /dev/null
+++ b/HTML_Table_to_List/requirements.txt
@@ -0,0 +1 @@
+beautifulsoup4
diff --git a/Handwriting_Recognizer/requirements.txt b/Handwriting_Recognizer/requirements.txt
new file mode 100644
index 0000000..0c8c3d2
--- /dev/null
+++ b/Handwriting_Recognizer/requirements.txt
@@ -0,0 +1,2 @@
+numpy
+tensorflow
diff --git a/Image-Circulator/image_circulator.py b/Image-Circulator/image_circulator.py
index fb0cb23..5f25fe1 100644
--- a/Image-Circulator/image_circulator.py
+++ b/Image-Circulator/image_circulator.py
@@ -19,21 +19,21 @@ print('Image diameter will be '+ str(args.diameter))
im = Image.open(args.inputfile)
width, height = im.size
-
+
left = (width - int(args.diameter))/2
top = (height - int(args.diameter))/2
right = (width + int(args.diameter))/2
bottom = (height + int(args.diameter))/2
-
+
im = im.crop((left, top, right, bottom));
-
+
bigsize = (im.size[0] * 3, im.size[1] * 3)
mask = Image.new('L', bigsize, 0)
draw = ImageDraw.Draw(mask)
draw.ellipse((0, 0) + bigsize, fill=255)
mask = mask.resize(im.size, Image.ANTIALIAS)
im.putalpha(mask)
-
+
output = ImageOps.fit(im, mask.size, centering=(0.5, 0.5))
output.putalpha(mask)
output.save(args.outputfile)
diff --git a/Image-Circulator/requirements.txt b/Image-Circulator/requirements.txt
new file mode 100644
index 0000000..7e2fba5
--- /dev/null
+++ b/Image-Circulator/requirements.txt
@@ -0,0 +1 @@
+Pillow
diff --git a/InstadpShower/README.md b/InstadpShower/README.md
index 9b446e8..9b0a4d7 100644
--- a/InstadpShower/README.md
+++ b/InstadpShower/README.md
@@ -2,12 +2,12 @@
This is a simple python script which uses web scraping techniques to display the instagram dp of any user just by typing its username.
-To use this script, you need to have bs4 and requests libraries of python installed in your local machine.
+To use this script, you need to have bs4 and requests libraries of python installed in your local machine.
To install bs4 and requests, use the following command
```
-pip install bs4
+pip install beautifulsoup4
```
```
pip install requests
diff --git a/InstadpShower/dppage.py b/InstadpShower/dppage.py
index 5fc2bc0..9492cda 100644
--- a/InstadpShower/dppage.py
+++ b/InstadpShower/dppage.py
@@ -1,4 +1,4 @@
-import webbrowser as wb
+import webbrowser as wb
import requests
import re
import json
diff --git a/InstadpShower/requirements.txt b/InstadpShower/requirements.txt
new file mode 100644
index 0000000..1f3e778
--- /dev/null
+++ b/InstadpShower/requirements.txt
@@ -0,0 +1,2 @@
+beautifulsoup4
+requests
diff --git a/Location_Of_Adress/requirements.txt b/Location_Of_Adress/requirements.txt
new file mode 100644
index 0000000..273afe2
--- /dev/null
+++ b/Location_Of_Adress/requirements.txt
@@ -0,0 +1 @@
+geocoder
diff --git a/Location_Of_Own_IP_Adress/requirements.txt b/Location_Of_Own_IP_Adress/requirements.txt
new file mode 100644
index 0000000..273afe2
--- /dev/null
+++ b/Location_Of_Own_IP_Adress/requirements.txt
@@ -0,0 +1 @@
+geocoder
diff --git a/Ping_Server/requirements.txt b/Ping_Server/requirements.txt
new file mode 100644
index 0000000..2bdf31c
--- /dev/null
+++ b/Ping_Server/requirements.txt
@@ -0,0 +1,3 @@
+Telethon
+twilio
+requests
diff --git a/Port_Scanner/README.md b/Port_Scanner/README.md
index 027a646..d0168bd 100644
--- a/Port_Scanner/README.md
+++ b/Port_Scanner/README.md
@@ -5,4 +5,4 @@ A simple tool that asynchronously scans a server's ports with python. It's prett
None, the only libraries that are used are built-ins.
## Usage
-Use "port_scanner.py", and enter the IP that you want to scan when prompted.
\ No newline at end of file
+Use "port_scanner.py", and enter the IP that you want to scan when prompted.
diff --git a/Proxy-Request/requirements.txt b/Proxy-Request/requirements.txt
new file mode 100644
index 0000000..1190bd8
--- /dev/null
+++ b/Proxy-Request/requirements.txt
@@ -0,0 +1,2 @@
+requests
+beautifulsoup4
diff --git a/README.md b/README.md
index cbd22ec..051e363 100644
--- a/README.md
+++ b/README.md
@@ -63,6 +63,12 @@ So far, the following projects have been integrated to this repo:
- Clone/Download the directory and navigate to each folder. Or...
- Simply navigate to the folder and download/copy the scripts! It's *that* simple and easy.
+- Setup virtual environment for that scripts:
+ - `python -m venv env`
+ - `source env\bin\activate`
+ - `pip install -r requirements.txt`
+
+- Run the script :)
Remember to star the repo if you love the scipts~ :wink:
@@ -77,5 +83,12 @@ Remember to star the repo if you love the scipts~ :wink:
- Main Python Script,
- Supporting files for the Script (If any)
- A separate `README.md` File with proper documentation.
+ - `requirements.txt` file for any required library.
+
+ - How to create `requirements.txt` file
+ - `cd `
+ - Activate your local virtual environment
+ - `source env\bin\activate`
+ - `pip freeze > requirements.txt`
- Feel Free to add your script in the [project's list](https://github.com/hastagAB/Awesome-Python-Scripts#what-do-we-have) above.
diff --git a/SimpleWebpageParser/requirements.txt b/SimpleWebpageParser/requirements.txt
new file mode 100644
index 0000000..7c68647
--- /dev/null
+++ b/SimpleWebpageParser/requirements.txt
@@ -0,0 +1,2 @@
+requests
+beautidulsoup4
diff --git a/Slideshare-Downloader/requirements.txt b/Slideshare-Downloader/requirements.txt
index ffc253e..2f90f23 100644
--- a/Slideshare-Downloader/requirements.txt
+++ b/Slideshare-Downloader/requirements.txt
@@ -1,4 +1,4 @@
-beautifulsoup4>=4.0.0
-requests>=2.0.0
-img2pdf>=0.2.1
-docopt>=0.6.0
\ No newline at end of file
+docopt
+img2pdf
+requests
+beautifulsoup4
diff --git a/SmsYourLocation/HowTo.md b/SmsYourLocation/README.md
similarity index 100%
rename from SmsYourLocation/HowTo.md
rename to SmsYourLocation/README.md
diff --git a/Subtitle-downloader/requirements.txt b/Subtitle-downloader/requirements.txt
new file mode 100644
index 0000000..f229360
--- /dev/null
+++ b/Subtitle-downloader/requirements.txt
@@ -0,0 +1 @@
+requests
diff --git a/Take_screenshot/README.md b/Take_screenshot/README.md
index 92e67dc..fe1e766 100644
--- a/Take_screenshot/README.md
+++ b/Take_screenshot/README.md
@@ -3,18 +3,18 @@
A simple implementation on how to take screenshots .
#### Required Modules :
- - Numpy
+ - Numpy
```bash
pip install numpy
```
- - Opencv
+ - Opencv
```bash
pip install opencv-python
```
- - Pyautogui
+ - Pyautogui
```bash
pip3 install pyautogui --user
```
#### Results :
-
+
![alt text](https://github.com/moadmmh/Awesome-OpenCV/blob/master/Take_Screenshot/test.png)
diff --git a/Take_screenshot/requirements.txt b/Take_screenshot/requirements.txt
new file mode 100644
index 0000000..3401f4f
--- /dev/null
+++ b/Take_screenshot/requirements.txt
@@ -0,0 +1,3 @@
+numpy
+PyAutoGUI
+opencv-python
diff --git a/Work_Log_Generator/requirements.txt b/Work_Log_Generator/requirements.txt
index b1b1575..ada216a 100644
--- a/Work_Log_Generator/requirements.txt
+++ b/Work_Log_Generator/requirements.txt
@@ -1,4 +1,3 @@
-# WorkLog
-pygithub
-PyQt5
-qdarkstyle
+QDarkStyle
+PyQt5
+PyGithub
diff --git a/Youtube_Video_Downloader/requirements.txt b/Youtube_Video_Downloader/requirements.txt
new file mode 100644
index 0000000..cd5e770
--- /dev/null
+++ b/Youtube_Video_Downloader/requirements.txt
@@ -0,0 +1 @@
+pytube
diff --git a/asymmetric_cryptography/requirements.txt b/asymmetric_cryptography/requirements.txt
new file mode 100644
index 0000000..904545b
--- /dev/null
+++ b/asymmetric_cryptography/requirements.txt
@@ -0,0 +1 @@
+pycrypto
diff --git a/images2pdf/requirements.txt b/images2pdf/requirements.txt
new file mode 100644
index 0000000..ecc250d
--- /dev/null
+++ b/images2pdf/requirements.txt
@@ -0,0 +1,2 @@
+Pillow
+fpdf
diff --git a/mailing/read_me.md b/mailing/README.md
similarity index 100%
rename from mailing/read_me.md
rename to mailing/README.md
diff --git a/zabbix_api/requirements.txt b/zabbix_api/requirements.txt
new file mode 100644
index 0000000..3e9d06e
--- /dev/null
+++ b/zabbix_api/requirements.txt
@@ -0,0 +1,2 @@
+requests
+Jinja2