pip Interface

Mon, 08 Feb 2021 18:01:02 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Mon, 08 Feb 2021 18:01:02 +0100
changeset 8085
f6db8b3ecea9
parent 8084
7742e0b96629
child 8086
eff504bb6dec

pip Interface
- changed code for the search function to work with the PyPI search page because the XML-RPC search interface of PyPI is still disabled

docs/changelog file | annotate | diff | comparison | revisions
eric6/APIs/Python3/eric6.api file | annotate | diff | comparison | revisions
eric6/APIs/Python3/eric6.bas file | annotate | diff | comparison | revisions
eric6/Documentation/Help/source.qch file | annotate | diff | comparison | revisions
eric6/Documentation/Help/source.qhp file | annotate | diff | comparison | revisions
eric6/Documentation/Source/eric6.PipInterface.Pip.html file | annotate | diff | comparison | revisions
eric6/Documentation/Source/eric6.PipInterface.PipPackagesWidget.html file | annotate | diff | comparison | revisions
eric6/PipInterface/Pip.py file | annotate | diff | comparison | revisions
eric6/PipInterface/PipPackagesWidget.py file | annotate | diff | comparison | revisions
eric6/PipInterface/PipPackagesWidget.ui file | annotate | diff | comparison | revisions
eric6/i18n/eric6_cs.ts file | annotate | diff | comparison | revisions
eric6/i18n/eric6_de.qm file | annotate | diff | comparison | revisions
eric6/i18n/eric6_de.ts file | annotate | diff | comparison | revisions
eric6/i18n/eric6_empty.ts file | annotate | diff | comparison | revisions
eric6/i18n/eric6_en.ts file | annotate | diff | comparison | revisions
eric6/i18n/eric6_es.ts file | annotate | diff | comparison | revisions
eric6/i18n/eric6_fr.ts file | annotate | diff | comparison | revisions
eric6/i18n/eric6_it.ts file | annotate | diff | comparison | revisions
eric6/i18n/eric6_pt.ts file | annotate | diff | comparison | revisions
eric6/i18n/eric6_ru.ts file | annotate | diff | comparison | revisions
eric6/i18n/eric6_tr.ts file | annotate | diff | comparison | revisions
eric6/i18n/eric6_zh_CN.ts file | annotate | diff | comparison | revisions
--- a/docs/changelog	Sun Feb 07 17:34:51 2021 +0100
+++ b/docs/changelog	Mon Feb 08 18:01:02 2021 +0100
@@ -13,6 +13,9 @@
 - MicroPython:
   -- extended the list of supported (recognized) CircuitPython boards
   -- added capability to manually configure devices not yet known by eric6
+- pip Interface
+  -- changed code for the search function to work with the PyPI search page
+     because the XML-RPC search interface of PyPI is still disabled
 
 Version 21.2:
 - bug fixes
--- a/eric6/APIs/Python3/eric6.api	Sun Feb 07 17:34:51 2021 +0100
+++ b/eric6/APIs/Python3/eric6.api	Mon Feb 08 18:01:02 2021 +0100
@@ -2878,6 +2878,7 @@
 eric6.PipInterface.Pip.Pip.getIndexUrl?4()
 eric6.PipInterface.Pip.Pip.getIndexUrlXml?4()
 eric6.PipInterface.Pip.Pip.getInstalledPackages?4(envName, localPackages=True, notRequired=False, usersite=False)
+eric6.PipInterface.Pip.Pip.getNetworkAccessManager?4()
 eric6.PipInterface.Pip.Pip.getOutdatedPackages?4(envName, localPackages=True, notRequired=False, usersite=False)
 eric6.PipInterface.Pip.Pip.getPackageDetails?4(name, version)
 eric6.PipInterface.Pip.Pip.getProjectEnvironmentString?4()
@@ -2920,7 +2921,7 @@
 eric6.PipInterface.PipPackagesInputDialog.PipPackagesInputDialog.getData?4()
 eric6.PipInterface.PipPackagesInputDialog.PipPackagesInputDialog.on_packagesEdit_textChanged?4(txt)
 eric6.PipInterface.PipPackagesInputDialog.PipPackagesInputDialog?1(pip, title, install=True, parent=None)
-eric6.PipInterface.PipPackagesWidget.PipPackagesWidget.SearchStopwords?7
+eric6.PipInterface.PipPackagesWidget.PipPackagesWidget.SearchUrl?7
 eric6.PipInterface.PipPackagesWidget.PipPackagesWidget.SearchVersionRole?7
 eric6.PipInterface.PipPackagesWidget.PipPackagesWidget.ShowProcessClassifiersMode?7
 eric6.PipInterface.PipPackagesWidget.PipPackagesWidget.ShowProcessEntryPointsMode?7
@@ -2938,8 +2939,6 @@
 eric6.PipInterface.PipPackagesWidget.PipPackagesWidget.on_searchButton_clicked?4()
 eric6.PipInterface.PipPackagesWidget.PipPackagesWidget.on_searchEditName_returnPressed?4()
 eric6.PipInterface.PipPackagesWidget.PipPackagesWidget.on_searchEditName_textChanged?4(txt)
-eric6.PipInterface.PipPackagesWidget.PipPackagesWidget.on_searchEditSummary_returnPressed?4()
-eric6.PipInterface.PipPackagesWidget.PipPackagesWidget.on_searchEditSummary_textChanged?4(txt)
 eric6.PipInterface.PipPackagesWidget.PipPackagesWidget.on_searchResultList_itemActivated?4(item, column)
 eric6.PipInterface.PipPackagesWidget.PipPackagesWidget.on_searchResultList_itemSelectionChanged?4()
 eric6.PipInterface.PipPackagesWidget.PipPackagesWidget.on_searchToggleButton_toggled?4(checked)
@@ -2951,6 +2950,12 @@
 eric6.PipInterface.PipPackagesWidget.PipPackagesWidget.on_userCheckBox_clicked?4(checked)
 eric6.PipInterface.PipPackagesWidget.PipPackagesWidget.on_verboseCheckBox_clicked?4(checked)
 eric6.PipInterface.PipPackagesWidget.PipPackagesWidget?1(pip, parent=None)
+eric6.PipInterface.PipPackagesWidget.PypiSearchResultsParser.ClassPrefix?7
+eric6.PipInterface.PipPackagesWidget.PypiSearchResultsParser.getResults?4()
+eric6.PipInterface.PipPackagesWidget.PypiSearchResultsParser.handle_data?4(data)
+eric6.PipInterface.PipPackagesWidget.PypiSearchResultsParser.handle_endtag?4(tag)
+eric6.PipInterface.PipPackagesWidget.PypiSearchResultsParser.handle_starttag?4(tag, attrs)
+eric6.PipInterface.PipPackagesWidget.PypiSearchResultsParser?1(data)
 eric6.PluginManager.PluginDetailsDialog.PluginDetailsDialog.on_activeCheckBox_clicked?4()
 eric6.PluginManager.PluginDetailsDialog.PluginDetailsDialog.on_autoactivateCheckBox_clicked?4()
 eric6.PluginManager.PluginDetailsDialog.PluginDetailsDialog?1(details, parent=None)
--- a/eric6/APIs/Python3/eric6.bas	Sun Feb 07 17:34:51 2021 +0100
+++ b/eric6/APIs/Python3/eric6.bas	Mon Feb 08 18:01:02 2021 +0100
@@ -749,6 +749,7 @@
 PyRegExpWizardWidget QWidget Ui_PyRegExpWizardDialog
 PyRegExpWizardWindow E5MainWindow
 PySvnProjectHelper VcsProjectHelper
+PypiSearchResultsParser html.parser.HTMLParser
 PythonAstViewer QWidget
 PythonDisViewer QWidget Ui_PythonDisViewer
 PythonDisViewerModes enum.Enum
Binary file eric6/Documentation/Help/source.qch has changed
--- a/eric6/Documentation/Help/source.qhp	Sun Feb 07 17:34:51 2021 +0100
+++ b/eric6/Documentation/Help/source.qhp	Mon Feb 08 18:01:02 2021 +0100
@@ -10781,6 +10781,7 @@
       <keyword name="Pip.getIndexUrl" id="Pip.getIndexUrl" ref="eric6.PipInterface.Pip.html#Pip.getIndexUrl" />
       <keyword name="Pip.getIndexUrlXml" id="Pip.getIndexUrlXml" ref="eric6.PipInterface.Pip.html#Pip.getIndexUrlXml" />
       <keyword name="Pip.getInstalledPackages" id="Pip.getInstalledPackages" ref="eric6.PipInterface.Pip.html#Pip.getInstalledPackages" />
+      <keyword name="Pip.getNetworkAccessManager" id="Pip.getNetworkAccessManager" ref="eric6.PipInterface.Pip.html#Pip.getNetworkAccessManager" />
       <keyword name="Pip.getOutdatedPackages" id="Pip.getOutdatedPackages" ref="eric6.PipInterface.Pip.html#Pip.getOutdatedPackages" />
       <keyword name="Pip.getPackageDetails" id="Pip.getPackageDetails" ref="eric6.PipInterface.Pip.html#Pip.getPackageDetails" />
       <keyword name="Pip.getProjectEnvironmentString" id="Pip.getProjectEnvironmentString" ref="eric6.PipInterface.Pip.html#Pip.getProjectEnvironmentString" />
@@ -10870,20 +10871,17 @@
       <keyword name="PipPackagesWidget.__isPipAvailable" id="PipPackagesWidget.__isPipAvailable" ref="eric6.PipInterface.PipPackagesWidget.html#PipPackagesWidget.__isPipAvailable" />
       <keyword name="PipPackagesWidget.__pipConfigure" id="PipPackagesWidget.__pipConfigure" ref="eric6.PipInterface.PipPackagesWidget.html#PipPackagesWidget.__pipConfigure" />
       <keyword name="PipPackagesWidget.__populateEnvironments" id="PipPackagesWidget.__populateEnvironments" ref="eric6.PipInterface.PipPackagesWidget.html#PipPackagesWidget.__populateEnvironments" />
-      <keyword name="PipPackagesWidget.__processSearchResult" id="PipPackagesWidget.__processSearchResult" ref="eric6.PipInterface.PipPackagesWidget.html#PipPackagesWidget.__processSearchResult" />
       <keyword name="PipPackagesWidget.__purgeCache" id="PipPackagesWidget.__purgeCache" ref="eric6.PipInterface.PipPackagesWidget.html#PipPackagesWidget.__purgeCache" />
       <keyword name="PipPackagesWidget.__refreshPackagesList" id="PipPackagesWidget.__refreshPackagesList" ref="eric6.PipInterface.PipPackagesWidget.html#PipPackagesWidget.__refreshPackagesList" />
       <keyword name="PipPackagesWidget.__removeCachedFiles" id="PipPackagesWidget.__removeCachedFiles" ref="eric6.PipInterface.PipPackagesWidget.html#PipPackagesWidget.__removeCachedFiles" />
       <keyword name="PipPackagesWidget.__repairPip" id="PipPackagesWidget.__repairPip" ref="eric6.PipInterface.PipPackagesWidget.html#PipPackagesWidget.__repairPip" />
-      <keyword name="PipPackagesWidget.__score" id="PipPackagesWidget.__score" ref="eric6.PipInterface.PipPackagesWidget.html#PipPackagesWidget.__score" />
       <keyword name="PipPackagesWidget.__search" id="PipPackagesWidget.__search" ref="eric6.PipInterface.PipPackagesWidget.html#PipPackagesWidget.__search" />
-      <keyword name="PipPackagesWidget.__searchError" id="PipPackagesWidget.__searchError" ref="eric6.PipInterface.PipPackagesWidget.html#PipPackagesWidget.__searchError" />
+      <keyword name="PipPackagesWidget.__searchResponse" id="PipPackagesWidget.__searchResponse" ref="eric6.PipInterface.PipPackagesWidget.html#PipPackagesWidget.__searchResponse" />
       <keyword name="PipPackagesWidget.__selectedUpdateableItems" id="PipPackagesWidget.__selectedUpdateableItems" ref="eric6.PipInterface.PipPackagesWidget.html#PipPackagesWidget.__selectedUpdateableItems" />
       <keyword name="PipPackagesWidget.__showCacheInfo" id="PipPackagesWidget.__showCacheInfo" ref="eric6.PipInterface.PipPackagesWidget.html#PipPackagesWidget.__showCacheInfo" />
       <keyword name="PipPackagesWidget.__showCacheList" id="PipPackagesWidget.__showCacheList" ref="eric6.PipInterface.PipPackagesWidget.html#PipPackagesWidget.__showCacheList" />
       <keyword name="PipPackagesWidget.__showPackageDetails" id="PipPackagesWidget.__showPackageDetails" ref="eric6.PipInterface.PipPackagesWidget.html#PipPackagesWidget.__showPackageDetails" />
       <keyword name="PipPackagesWidget.__showSearchedDetails" id="PipPackagesWidget.__showSearchedDetails" ref="eric6.PipInterface.PipPackagesWidget.html#PipPackagesWidget.__showSearchedDetails" />
-      <keyword name="PipPackagesWidget.__transformHits" id="PipPackagesWidget.__transformHits" ref="eric6.PipInterface.PipPackagesWidget.html#PipPackagesWidget.__transformHits" />
       <keyword name="PipPackagesWidget.__uninstallRequirements" id="PipPackagesWidget.__uninstallRequirements" ref="eric6.PipInterface.PipPackagesWidget.html#PipPackagesWidget.__uninstallRequirements" />
       <keyword name="PipPackagesWidget.__updateActionButtons" id="PipPackagesWidget.__updateActionButtons" ref="eric6.PipInterface.PipPackagesWidget.html#PipPackagesWidget.__updateActionButtons" />
       <keyword name="PipPackagesWidget.__updateSearchActionButtons" id="PipPackagesWidget.__updateSearchActionButtons" ref="eric6.PipInterface.PipPackagesWidget.html#PipPackagesWidget.__updateSearchActionButtons" />
@@ -10900,8 +10898,6 @@
       <keyword name="PipPackagesWidget.on_searchButton_clicked" id="PipPackagesWidget.on_searchButton_clicked" ref="eric6.PipInterface.PipPackagesWidget.html#PipPackagesWidget.on_searchButton_clicked" />
       <keyword name="PipPackagesWidget.on_searchEditName_returnPressed" id="PipPackagesWidget.on_searchEditName_returnPressed" ref="eric6.PipInterface.PipPackagesWidget.html#PipPackagesWidget.on_searchEditName_returnPressed" />
       <keyword name="PipPackagesWidget.on_searchEditName_textChanged" id="PipPackagesWidget.on_searchEditName_textChanged" ref="eric6.PipInterface.PipPackagesWidget.html#PipPackagesWidget.on_searchEditName_textChanged" />
-      <keyword name="PipPackagesWidget.on_searchEditSummary_returnPressed" id="PipPackagesWidget.on_searchEditSummary_returnPressed" ref="eric6.PipInterface.PipPackagesWidget.html#PipPackagesWidget.on_searchEditSummary_returnPressed" />
-      <keyword name="PipPackagesWidget.on_searchEditSummary_textChanged" id="PipPackagesWidget.on_searchEditSummary_textChanged" ref="eric6.PipInterface.PipPackagesWidget.html#PipPackagesWidget.on_searchEditSummary_textChanged" />
       <keyword name="PipPackagesWidget.on_searchResultList_itemActivated" id="PipPackagesWidget.on_searchResultList_itemActivated" ref="eric6.PipInterface.PipPackagesWidget.html#PipPackagesWidget.on_searchResultList_itemActivated" />
       <keyword name="PipPackagesWidget.on_searchResultList_itemSelectionChanged" id="PipPackagesWidget.on_searchResultList_itemSelectionChanged" ref="eric6.PipInterface.PipPackagesWidget.html#PipPackagesWidget.on_searchResultList_itemSelectionChanged" />
       <keyword name="PipPackagesWidget.on_searchToggleButton_toggled" id="PipPackagesWidget.on_searchToggleButton_toggled" ref="eric6.PipInterface.PipPackagesWidget.html#PipPackagesWidget.on_searchToggleButton_toggled" />
@@ -12073,6 +12069,14 @@
       <keyword name="PySvnProjectHelper.initToolbar" id="PySvnProjectHelper.initToolbar" ref="eric6.Plugins.VcsPlugins.vcsPySvn.ProjectHelper.html#PySvnProjectHelper.initToolbar" />
       <keyword name="PySvnProjectHelper.removeToolbar" id="PySvnProjectHelper.removeToolbar" ref="eric6.Plugins.VcsPlugins.vcsPySvn.ProjectHelper.html#PySvnProjectHelper.removeToolbar" />
       <keyword name="PyUnit (Package)" id="PyUnit (Package)" ref="index-eric6.PyUnit.html" />
+      <keyword name="PypiSearchResultsParser" id="PypiSearchResultsParser" ref="eric6.PipInterface.PipPackagesWidget.html#PypiSearchResultsParser" />
+      <keyword name="PypiSearchResultsParser (Constructor)" id="PypiSearchResultsParser (Constructor)" ref="eric6.PipInterface.PipPackagesWidget.html#PypiSearchResultsParser.__init__" />
+      <keyword name="PypiSearchResultsParser.__getClass" id="PypiSearchResultsParser.__getClass" ref="eric6.PipInterface.PipPackagesWidget.html#PypiSearchResultsParser.__getClass" />
+      <keyword name="PypiSearchResultsParser.__getDate" id="PypiSearchResultsParser.__getDate" ref="eric6.PipInterface.PipPackagesWidget.html#PypiSearchResultsParser.__getDate" />
+      <keyword name="PypiSearchResultsParser.getResults" id="PypiSearchResultsParser.getResults" ref="eric6.PipInterface.PipPackagesWidget.html#PypiSearchResultsParser.getResults" />
+      <keyword name="PypiSearchResultsParser.handle_data" id="PypiSearchResultsParser.handle_data" ref="eric6.PipInterface.PipPackagesWidget.html#PypiSearchResultsParser.handle_data" />
+      <keyword name="PypiSearchResultsParser.handle_endtag" id="PypiSearchResultsParser.handle_endtag" ref="eric6.PipInterface.PipPackagesWidget.html#PypiSearchResultsParser.handle_endtag" />
+      <keyword name="PypiSearchResultsParser.handle_starttag" id="PypiSearchResultsParser.handle_starttag" ref="eric6.PipInterface.PipPackagesWidget.html#PypiSearchResultsParser.handle_starttag" />
       <keyword name="Python (Package)" id="Python (Package)" ref="index-eric6.DebugClients.Python.html" />
       <keyword name="PythonAstViewer" id="PythonAstViewer" ref="eric6.UI.PythonAstViewer.html#PythonAstViewer" />
       <keyword name="PythonAstViewer (Constructor)" id="PythonAstViewer (Constructor)" ref="eric6.UI.PythonAstViewer.html#PythonAstViewer.__init__" />
--- a/eric6/Documentation/Source/eric6.PipInterface.Pip.html	Sun Feb 07 17:34:51 2021 +0100
+++ b/eric6/Documentation/Source/eric6.PipInterface.Pip.html	Mon Feb 08 18:01:02 2021 +0100
@@ -101,6 +101,10 @@
 <td>Public method to get the list of installed packages.</td>
 </tr>
 <tr>
+<td><a href="#Pip.getNetworkAccessManager">getNetworkAccessManager</a></td>
+<td>Public method to get a reference to the network access manager object.</td>
+</tr>
+<tr>
 <td><a href="#Pip.getOutdatedPackages">getOutdatedPackages</a></td>
 <td>Public method to get the list of outdated packages.</td>
 </tr>
@@ -331,6 +335,25 @@
 list of tuple of (str, str)
 </dd>
 </dl>
+<a NAME="Pip.getNetworkAccessManager" ID="Pip.getNetworkAccessManager"></a>
+<h4>Pip.getNetworkAccessManager</h4>
+<b>getNetworkAccessManager</b>(<i></i>)
+
+<p>
+        Public method to get a reference to the network access manager object.
+</p>
+<dl>
+<dt>Return:</dt>
+<dd>
+reference to the network access manager object
+</dd>
+</dl>
+<dl>
+<dt>Return Type:</dt>
+<dd>
+QNetworkAccessManager
+</dd>
+</dl>
 <a NAME="Pip.getOutdatedPackages" ID="Pip.getOutdatedPackages"></a>
 <h4>Pip.getOutdatedPackages</h4>
 <b>getOutdatedPackages</b>(<i>envName, localPackages=True, notRequired=False, usersite=False</i>)
--- a/eric6/Documentation/Source/eric6.PipInterface.PipPackagesWidget.html	Sun Feb 07 17:34:51 2021 +0100
+++ b/eric6/Documentation/Source/eric6.PipInterface.PipPackagesWidget.html	Mon Feb 08 18:01:02 2021 +0100
@@ -38,6 +38,10 @@
 <td><a href="#PipPackagesWidget">PipPackagesWidget</a></td>
 <td>Class implementing the pip packages management widget.</td>
 </tr>
+<tr>
+<td><a href="#PypiSearchResultsParser">PypiSearchResultsParser</a></td>
+<td>Class implementing the parser for the PyPI search result page.</td>
+</tr>
 </table>
 <h3>Functions</h3>
 
@@ -57,7 +61,7 @@
 <h3>Class Attributes</h3>
 
 <table>
-<tr><td>SearchStopwords</td></tr><tr><td>SearchVersionRole</td></tr><tr><td>ShowProcessClassifiersMode</td></tr><tr><td>ShowProcessEntryPointsMode</td></tr><tr><td>ShowProcessFilesListMode</td></tr><tr><td>ShowProcessGeneralMode</td></tr>
+<tr><td>SearchUrl</td></tr><tr><td>SearchVersionRole</td></tr><tr><td>ShowProcessClassifiersMode</td></tr><tr><td>ShowProcessEntryPointsMode</td></tr><tr><td>ShowProcessFilesListMode</td></tr><tr><td>ShowProcessGeneralMode</td></tr>
 </table>
 <h3>Class Methods</h3>
 
@@ -149,10 +153,6 @@
 <td>Private method to get a list of environments and populate the selector.</td>
 </tr>
 <tr>
-<td><a href="#PipPackagesWidget.__processSearchResult">__processSearchResult</a></td>
-<td>Private method to process the search result data from PyPI.</td>
-</tr>
-<tr>
 <td><a href="#PipPackagesWidget.__purgeCache">__purgeCache</a></td>
 <td>Private slot to empty the pip cache.</td>
 </tr>
@@ -169,16 +169,12 @@
 <td>Private slot to repair the pip installation of the selected environment.</td>
 </tr>
 <tr>
-<td><a href="#PipPackagesWidget.__score">__score</a></td>
-<td>Private method to calculate some score for a search result.</td>
+<td><a href="#PipPackagesWidget.__search">__search</a></td>
+<td>Private method to perform the search by calling the PyPI search URL.</td>
 </tr>
 <tr>
-<td><a href="#PipPackagesWidget.__search">__search</a></td>
-<td>Private method to perform the search.</td>
-</tr>
-<tr>
-<td><a href="#PipPackagesWidget.__searchError">__searchError</a></td>
-<td>Private method handling a search error.</td>
+<td><a href="#PipPackagesWidget.__searchResponse">__searchResponse</a></td>
+<td>Private method to extract the search result data from the response.</td>
 </tr>
 <tr>
 <td><a href="#PipPackagesWidget.__selectedUpdateableItems">__selectedUpdateableItems</a></td>
@@ -201,10 +197,6 @@
 <td>Private slot to show details about the selected search result package.</td>
 </tr>
 <tr>
-<td><a href="#PipPackagesWidget.__transformHits">__transformHits</a></td>
-<td>Private method to convert the list returned from pypi into a packages list.</td>
-</tr>
-<tr>
 <td><a href="#PipPackagesWidget.__uninstallRequirements">__uninstallRequirements</a></td>
 <td>Private slot to uninstall packages as given in a requirements file.</td>
 </tr>
@@ -269,14 +261,6 @@
 <td>Private slot handling a change of the search term.</td>
 </tr>
 <tr>
-<td><a href="#PipPackagesWidget.on_searchEditSummary_returnPressed">on_searchEditSummary_returnPressed</a></td>
-<td>Private slot initiating a search via a press of the Return key.</td>
-</tr>
-<tr>
-<td><a href="#PipPackagesWidget.on_searchEditSummary_textChanged">on_searchEditSummary_textChanged</a></td>
-<td>Private slot handling a change of the search term.</td>
-</tr>
-<tr>
 <td><a href="#PipPackagesWidget.on_searchResultList_itemActivated">on_searchResultList_itemActivated</a></td>
 <td>Private slot reacting on an search result item activation.</td>
 </tr>
@@ -547,20 +531,6 @@
 <p>
         Private method to get a list of environments and populate the selector.
 </p>
-<a NAME="PipPackagesWidget.__processSearchResult" ID="PipPackagesWidget.__processSearchResult"></a>
-<h4>PipPackagesWidget.__processSearchResult</h4>
-<b>__processSearchResult</b>(<i>data</i>)
-
-<p>
-        Private method to process the search result data from PyPI.
-</p>
-<dl>
-
-<dt><i>data</i> (tuple)</dt>
-<dd>
-result data with hits in the first element
-</dd>
-</dl>
 <a NAME="PipPackagesWidget.__purgeCache" ID="PipPackagesWidget.__purgeCache"></a>
 <h4>PipPackagesWidget.__purgeCache</h4>
 <b>__purgeCache</b>(<i></i>)
@@ -590,59 +560,25 @@
         Private slot to repair the pip installation of the selected
         environment.
 </p>
-<a NAME="PipPackagesWidget.__score" ID="PipPackagesWidget.__score"></a>
-<h4>PipPackagesWidget.__score</h4>
-<b>__score</b>(<i>name, summary</i>)
-
-<p>
-        Private method to calculate some score for a search result.
-</p>
-<dl>
-
-<dt><i>name</i> (str)</dt>
-<dd>
-name of the returned package
-</dd>
-<dt><i>summary</i> (str)</dt>
-<dd>
-summary text for the package
-</dd>
-</dl>
-<dl>
-<dt>Return:</dt>
-<dd>
-score value
-</dd>
-</dl>
-<dl>
-<dt>Return Type:</dt>
-<dd>
-int
-</dd>
-</dl>
 <a NAME="PipPackagesWidget.__search" ID="PipPackagesWidget.__search"></a>
 <h4>PipPackagesWidget.__search</h4>
 <b>__search</b>(<i></i>)
 
 <p>
-        Private method to perform the search.
+        Private method to perform the search by calling the PyPI search URL.
 </p>
-<a NAME="PipPackagesWidget.__searchError" ID="PipPackagesWidget.__searchError"></a>
-<h4>PipPackagesWidget.__searchError</h4>
-<b>__searchError</b>(<i>errorCode, errorString</i>)
+<a NAME="PipPackagesWidget.__searchResponse" ID="PipPackagesWidget.__searchResponse"></a>
+<h4>PipPackagesWidget.__searchResponse</h4>
+<b>__searchResponse</b>(<i>reply</i>)
 
 <p>
-        Private method handling a search error.
+        Private method to extract the search result data from the response.
 </p>
 <dl>
 
-<dt><i>errorCode</i> (int)</dt>
+<dt><i>reply</i> (QNetworkReply)</dt>
 <dd>
-code of the error
-</dd>
-<dt><i>errorString</i> (str)</dt>
-<dd>
-error message
+reference to the reply object containing the data
 </dd>
 </dl>
 <a NAME="PipPackagesWidget.__selectedUpdateableItems" ID="PipPackagesWidget.__selectedUpdateableItems"></a>
@@ -710,33 +646,6 @@
 reference to the search result item to show details for
 </dd>
 </dl>
-<a NAME="PipPackagesWidget.__transformHits" ID="PipPackagesWidget.__transformHits"></a>
-<h4>PipPackagesWidget.__transformHits</h4>
-<b>__transformHits</b>(<i>hits</i>)
-
-<p>
-        Private method to convert the list returned from pypi into a
-        packages list.
-</p>
-<dl>
-
-<dt><i>hits</i> (list of dict)</dt>
-<dd>
-list returned from pypi
-</dd>
-</dl>
-<dl>
-<dt>Return:</dt>
-<dd>
-list of packages
-</dd>
-</dl>
-<dl>
-<dt>Return Type:</dt>
-<dd>
-list of dict
-</dd>
-</dl>
 <a NAME="PipPackagesWidget.__uninstallRequirements" ID="PipPackagesWidget.__uninstallRequirements"></a>
 <h4>PipPackagesWidget.__uninstallRequirements</h4>
 <b>__uninstallRequirements</b>(<i></i>)
@@ -896,27 +805,6 @@
 search term
 </dd>
 </dl>
-<a NAME="PipPackagesWidget.on_searchEditSummary_returnPressed" ID="PipPackagesWidget.on_searchEditSummary_returnPressed"></a>
-<h4>PipPackagesWidget.on_searchEditSummary_returnPressed</h4>
-<b>on_searchEditSummary_returnPressed</b>(<i></i>)
-
-<p>
-        Private slot initiating a search via a press of the Return key.
-</p>
-<a NAME="PipPackagesWidget.on_searchEditSummary_textChanged" ID="PipPackagesWidget.on_searchEditSummary_textChanged"></a>
-<h4>PipPackagesWidget.on_searchEditSummary_textChanged</h4>
-<b>on_searchEditSummary_textChanged</b>(<i>txt</i>)
-
-<p>
-        Private slot handling a change of the search term.
-</p>
-<dl>
-
-<dt><i>txt</i> (str)</dt>
-<dd>
-search term
-</dd>
-</dl>
 <a NAME="PipPackagesWidget.on_searchResultList_itemActivated" ID="PipPackagesWidget.on_searchResultList_itemActivated"></a>
 <h4>PipPackagesWidget.on_searchResultList_itemActivated</h4>
 <b>on_searchResultList_itemActivated</b>(<i>item, column</i>)
@@ -1022,4 +910,197 @@
 </dl>
 <div align="right"><a href="#top">Up</a></div>
 <hr />
+<hr />
+<a NAME="PypiSearchResultsParser" ID="PypiSearchResultsParser"></a>
+<h2>PypiSearchResultsParser</h2>
+
+<p>
+    Class implementing the parser for the PyPI search result page.
+</p>
+<h3>Derived from</h3>
+html.parser.HTMLParser
+<h3>Class Attributes</h3>
+
+<table>
+<tr><td>ClassPrefix</td></tr>
+</table>
+<h3>Class Methods</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Methods</h3>
+
+<table>
+
+<tr>
+<td><a href="#PypiSearchResultsParser.__init__">PypiSearchResultsParser</a></td>
+<td>Constructor</td>
+</tr>
+<tr>
+<td><a href="#PypiSearchResultsParser.__getClass">__getClass</a></td>
+<td>Private method to extract the class attribute out of the list of attributes.</td>
+</tr>
+<tr>
+<td><a href="#PypiSearchResultsParser.__getDate">__getDate</a></td>
+<td>Private method to extract the datetime attribute out of the list of attributes and process it.</td>
+</tr>
+<tr>
+<td><a href="#PypiSearchResultsParser.getResults">getResults</a></td>
+<td>Public method to get the extracted search results.</td>
+</tr>
+<tr>
+<td><a href="#PypiSearchResultsParser.handle_data">handle_data</a></td>
+<td>Public method process arbitrary data.</td>
+</tr>
+<tr>
+<td><a href="#PypiSearchResultsParser.handle_endtag">handle_endtag</a></td>
+<td>Public method to process the end tag.</td>
+</tr>
+<tr>
+<td><a href="#PypiSearchResultsParser.handle_starttag">handle_starttag</a></td>
+<td>Public method to process the start tag.</td>
+</tr>
+</table>
+<h3>Static Methods</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+
+<a NAME="PypiSearchResultsParser.__init__" ID="PypiSearchResultsParser.__init__"></a>
+<h4>PypiSearchResultsParser (Constructor)</h4>
+<b>PypiSearchResultsParser</b>(<i>data</i>)
+
+<p>
+        Constructor
+</p>
+<dl>
+
+<dt><i>data</i> (str)</dt>
+<dd>
+data to be parsed
+</dd>
+</dl>
+<a NAME="PypiSearchResultsParser.__getClass" ID="PypiSearchResultsParser.__getClass"></a>
+<h4>PypiSearchResultsParser.__getClass</h4>
+<b>__getClass</b>(<i>attrs</i>)
+
+<p>
+        Private method to extract the class attribute out of the list of
+        attributes.
+</p>
+<dl>
+
+<dt><i>attrs</i> (list of tuple of (str, str))</dt>
+<dd>
+list of tag attributes as (name, value) tuples
+</dd>
+</dl>
+<dl>
+<dt>Return:</dt>
+<dd>
+value of the 'class' attribute or None
+</dd>
+</dl>
+<dl>
+<dt>Return Type:</dt>
+<dd>
+str
+</dd>
+</dl>
+<a NAME="PypiSearchResultsParser.__getDate" ID="PypiSearchResultsParser.__getDate"></a>
+<h4>PypiSearchResultsParser.__getDate</h4>
+<b>__getDate</b>(<i>attrs</i>)
+
+<p>
+        Private method to extract the datetime attribute out of the list of
+        attributes and process it.
+</p>
+<dl>
+
+<dt><i>attrs</i> (list of tuple of (str, str))</dt>
+<dd>
+list of tag attributes as (name, value) tuples
+</dd>
+</dl>
+<dl>
+<dt>Return:</dt>
+<dd>
+value of the 'class' attribute or None
+</dd>
+</dl>
+<dl>
+<dt>Return Type:</dt>
+<dd>
+str
+</dd>
+</dl>
+<a NAME="PypiSearchResultsParser.getResults" ID="PypiSearchResultsParser.getResults"></a>
+<h4>PypiSearchResultsParser.getResults</h4>
+<b>getResults</b>(<i></i>)
+
+<p>
+        Public method to get the extracted search results.
+</p>
+<dl>
+<dt>Return:</dt>
+<dd>
+extracted result data
+</dd>
+</dl>
+<dl>
+<dt>Return Type:</dt>
+<dd>
+list of dict
+</dd>
+</dl>
+<a NAME="PypiSearchResultsParser.handle_data" ID="PypiSearchResultsParser.handle_data"></a>
+<h4>PypiSearchResultsParser.handle_data</h4>
+<b>handle_data</b>(<i>data</i>)
+
+<p>
+        Public method process arbitrary data.
+</p>
+<dl>
+
+<dt><i>data</i> (str)</dt>
+<dd>
+data to be processed
+</dd>
+</dl>
+<a NAME="PypiSearchResultsParser.handle_endtag" ID="PypiSearchResultsParser.handle_endtag"></a>
+<h4>PypiSearchResultsParser.handle_endtag</h4>
+<b>handle_endtag</b>(<i>tag</i>)
+
+<p>
+        Public method to process the end tag.
+</p>
+<dl>
+
+<dt><i>tag</i> (str)</dt>
+<dd>
+tag name (all lowercase)
+</dd>
+</dl>
+<a NAME="PypiSearchResultsParser.handle_starttag" ID="PypiSearchResultsParser.handle_starttag"></a>
+<h4>PypiSearchResultsParser.handle_starttag</h4>
+<b>handle_starttag</b>(<i>tag, attrs</i>)
+
+<p>
+        Public method to process the start tag.
+</p>
+<dl>
+
+<dt><i>tag</i> (str)</dt>
+<dd>
+tag name (all lowercase)
+</dd>
+<dt><i>attrs</i> (list of tuple of (str, str))</dt>
+<dd>
+list of tag attributes as (name, value) tuples
+</dd>
+</dl>
+<div align="right"><a href="#top">Up</a></div>
+<hr />
 </body></html>
\ No newline at end of file
--- a/eric6/PipInterface/Pip.py	Sun Feb 07 17:34:51 2021 +0100
+++ b/eric6/PipInterface/Pip.py	Mon Feb 08 18:01:02 2021 +0100
@@ -60,6 +60,15 @@
                 self.__sslErrorHandler.sslErrorsReply)
         self.__replies = []
     
+    def getNetworkAccessManager(self):
+        """
+        Public method to get a reference to the network access manager object.
+        
+        @return reference to the network access manager object
+        @rtype QNetworkAccessManager
+        """
+        return self.__networkManager
+    
     ##########################################################################
     ## Methods below implement some utility functions
     ##########################################################################
--- a/eric6/PipInterface/PipPackagesWidget.py	Sun Feb 07 17:34:51 2021 +0100
+++ b/eric6/PipInterface/PipPackagesWidget.py	Mon Feb 08 18:01:02 2021 +0100
@@ -9,20 +9,19 @@
 
 import textwrap
 import os
-import re
+import html.parser
 
-from PyQt5.QtCore import pyqtSlot, Qt
+from PyQt5.QtCore import pyqtSlot, Qt, QUrl, QUrlQuery
+from PyQt5.QtNetwork import QNetworkReply, QNetworkRequest
 from PyQt5.QtWidgets import (
     QWidget, QToolButton, QApplication, QHeaderView, QTreeWidgetItem,
-    QInputDialog, QMenu, QDialog
+    QMenu, QDialog
 )
 
 from E5Gui.E5Application import e5App
 from E5Gui import E5MessageBox
 from E5Gui.E5OverrideCursor import E5OverrideCursor
 
-from E5Network.E5XmlRpcClient import E5XmlRpcClient
-
 from .Ui_PipPackagesWidget import Ui_PipPackagesWidget
 
 import UI.PixmapCache
@@ -30,6 +29,114 @@
 import Preferences
 
 
+class PypiSearchResultsParser(html.parser.HTMLParser):
+    """
+    Class implementing the parser for the PyPI search result page.
+    """
+    ClassPrefix = "package-snippet__"
+    
+    def __init__(self, data):
+        """
+        Constructor
+        
+        @param data data to be parsed
+        @type str
+        """
+        super(PypiSearchResultsParser, self).__init__()
+        self.__results = []
+        self.__activeClass = None
+        self.feed(data)
+    
+    def __getClass(self, attrs):
+        """
+        Private method to extract the class attribute out of the list of
+        attributes.
+        
+        @param attrs list of tag attributes as (name, value) tuples
+        @type list of tuple of (str, str)
+        @return value of the 'class' attribute or None
+        @rtype str
+        """
+        for name, value in attrs:
+            if name == "class":
+                return value
+        
+        return None
+    
+    def __getDate(self, attrs):
+        """
+        Private method to extract the datetime attribute out of the list of
+        attributes and process it.
+        
+        @param attrs list of tag attributes as (name, value) tuples
+        @type list of tuple of (str, str)
+        @return value of the 'class' attribute or None
+        @rtype str
+        """
+        for name, value in attrs:
+            if name == "datetime":
+                return value.split("T")[0]
+        
+        return None
+    
+    def handle_starttag(self, tag, attrs):
+        """
+        Public method to process the start tag.
+        
+        @param tag tag name (all lowercase)
+        @type str
+        @param attrs list of tag attributes as (name, value) tuples
+        @type list of tuple of (str, str)
+        """
+        if tag == "a" and self.__getClass(attrs) == "package-snippet":
+            self.__results.append({})
+        
+        if tag in ("span", "p"):
+            tagClass = self.__getClass(attrs)
+            if tagClass in (
+                "package-snippet__name", "package-snippet__description",
+                "package-snippet__version", "package-snippet__released",
+            ):
+                self.__activeClass = tagClass
+            else:
+                self.__activeClass = None
+        elif tag == "time":
+            attributeName = self.__activeClass.replace(self.ClassPrefix, "")
+            self.__results[-1][attributeName] = self.__getDate(attrs)
+            self.__activeClass = None
+        else:
+            self.__activeClass = None
+    
+    def handle_data(self, data):
+        """
+        Public method process arbitrary data.
+        
+        @param data data to be processed
+        @type str
+        """
+        if self.__activeClass is not None:
+            attributeName = self.__activeClass.replace(self.ClassPrefix, "")
+            self.__results[-1][attributeName] = data
+    
+    def handle_endtag(self, tag):
+        """
+        Public method to process the end tag.
+        
+        @param tag tag name (all lowercase)
+        @type str
+        """
+        self.__activeClass = None
+    
+    def getResults(self):
+        """
+        Public method to get the extracted search results.
+        
+        @return extracted result data
+        @rtype list of dict
+        """
+        return self.__results
+
+
 class PipPackagesWidget(QWidget, Ui_PipPackagesWidget):
     """
     Class implementing the pip packages management widget.
@@ -39,15 +146,10 @@
     ShowProcessEntryPointsMode = 2
     ShowProcessFilesListMode = 3
     
-    SearchStopwords = {
-        "a", "and", "are", "as", "at", "be", "but", "by",
-        "for", "if", "in", "into", "is", "it",
-        "no", "not", "of", "on", "or", "such",
-        "that", "the", "their", "then", "there", "these",
-        "they", "this", "to", "was", "will",
-    }
     SearchVersionRole = Qt.UserRole + 1
     
+    SearchUrl = "https://pypi.org/search/"
+    
     def __init__(self, pip, parent=None):
         """
         Constructor
@@ -82,7 +184,6 @@
         self.showDetailsButton.setIcon(UI.PixmapCache.getIcon("info"))
         
         self.__pip = pip
-        self.__client = E5XmlRpcClient(self.__pip.getIndexUrlXml(), self)
         
         self.packagesList.header().setSortIndicator(0, Qt.AscendingOrder)
         
@@ -126,6 +227,8 @@
         self.__queryName = []
         self.__querySummary = []
         
+        self.__replies = []
+        
         self.__packageDetailsDialog = None
     
     def __populateEnvironments(self):
@@ -544,8 +647,7 @@
         Private method to update the state of the search button.
         """
         self.searchButton.setEnabled(
-            (bool(self.searchEditName.text()) or
-             bool(self.searchEditSummary.text())) and
+            bool(self.searchEditName.text()) and
             self.__isPipAvailable()
         )
     
@@ -582,30 +684,7 @@
         Private slot initiating a search via a press of the Return key.
         """
         if (
-            (bool(self.searchEditName.text()) or
-             bool(self.searchEditSummary.text())) and
-            self.__isPipAvailable()
-        ):
-            self.__search()
-    
-    @pyqtSlot(str)
-    def on_searchEditSummary_textChanged(self, txt):
-        """
-        Private slot handling a change of the search term.
-        
-        @param txt search term
-        @type str
-        """
-        self.__updateSearchButton()
-    
-    @pyqtSlot()
-    def on_searchEditSummary_returnPressed(self):
-        """
-        Private slot initiating a search via a press of the Return key.
-        """
-        if (
-            (bool(self.searchEditName.text()) or
-             bool(self.searchEditSummary.text())) and
+            bool(self.searchEditName.text()) and
             self.__isPipAvailable()
         ):
             self.__search()
@@ -626,84 +705,89 @@
     
     def __search(self):
         """
-        Private method to perform the search.
+        Private method to perform the search by calling the PyPI search URL.
         """
-        # TODO: change search to use web scraping to get rid of XML-RPC
-        #       see thonny for how to do it
         self.searchResultList.clear()
         self.searchInfoLabel.clear()
         
         self.searchButton.setEnabled(False)
         
-        self.__queryName = [
-            term for term in self.searchEditName.text().strip().split()
-            if term not in self.SearchStopwords
-        ]
-        self.__querySummary = [
-            term for term in self.searchEditSummary.text().strip().split()
-            if term not in self.SearchStopwords
-        ]
-        self.__client.call(
-            "search",
-            ({"name": self.__queryName,
-              "summary": self.__querySummary},
-             self.searchTermCombineComboBox.currentText()),
-            self.__processSearchResult,
-            self.__searchError
-        )
+        searchTerm = self.searchEditName.text().strip()
+        searchTerm = bytes(QUrl.toPercentEncoding(searchTerm)).decode()
+        urlQuery = QUrlQuery()
+        urlQuery.addQueryItem("q", searchTerm)
+        url = QUrl(self.SearchUrl)
+        url.setQuery(urlQuery)
+        
+        request = QNetworkRequest(QUrl(url))
+        request.setAttribute(QNetworkRequest.CacheLoadControlAttribute,
+                             QNetworkRequest.AlwaysNetwork)
+        reply = self.__pip.getNetworkAccessManager().get(request)
+        reply.finished.connect(
+            lambda: self.__searchResponse(reply))
+        self.__replies.append(reply)
     
-    def __processSearchResult(self, data):
+    def __searchResponse(self, reply):
         """
-        Private method to process the search result data from PyPI.
+        Private method to extract the search result data from the response.
         
-        @param data result data with hits in the first element
-        @type tuple
+        @param reply reference to the reply object containing the data
+        @type QNetworkReply
         """
-        if data:
-            packages = self.__transformHits(data[0])
-            if packages:
-                self.searchInfoLabel.setText(
-                    self.tr("%n package(s) found.", "", len(packages)))
-                wrapper = textwrap.TextWrapper(width=80)
-                count = 0
-                total = 0
-                for package in packages:
-                    itm = QTreeWidgetItem(
-                        self.searchResultList, [
-                            package['name'].strip(),
-                            "{0:4d}".format(package['score']),
-                            "\n".join([
-                                wrapper.fill(line) for line in
-                                package['summary'].strip().splitlines()
-                            ])
-                        ])
-                    itm.setData(0, self.SearchVersionRole, package['version'])
-                    count += 1
-                    total += 1
-                    if count == 100:
-                        count = 0
-                        QApplication.processEvents()
+        if reply in self.__replies:
+            self.__replies.remove(reply)
+        
+        urlQuery = QUrlQuery(reply.url())
+        searchTerm = urlQuery.queryItemValue("q")
+        
+        if reply.error() != QNetworkReply.NoError:
+            E5MessageBox.warning(
+                None,
+                self.tr("Search PyPI"),
+                self.tr(
+                    "<p>Received an error while searching for <b>{0}</b>.</p>"
+                    "<p>Error: {1}</p>"
+                ).format(searchTerm, reply.errorString())
+            )
+            reply.deleteLater()
+            return
+        
+        data = bytes(reply.readAll()).decode()
+        reply.deleteLater()
+        
+        results = PypiSearchResultsParser(data).getResults()
+        if results:
+            if len(results) < 20:
+                msg = self.tr("%n package(s) found.", "", len(results))
             else:
-                E5MessageBox.warning(
-                    self,
-                    self.tr("Search PyPI"),
-                    self.tr("""<p>The package search did not return"""
-                            """ anything.</p>"""))
-                self.searchInfoLabel.setText(
-                    self.tr("""<p>The package search did not return"""
-                            """ anything.</p>"""))
+                msg = self.tr("Showing first 20 packages found.")
+            self.searchInfoLabel.setText(msg)
         else:
             E5MessageBox.warning(
                 self,
                 self.tr("Search PyPI"),
-                self.tr("""<p>The package search did not return anything."""
-                        """</p>"""))
+                self.tr("""<p>There were no results for <b>{0}</b>.</p>"""))
             self.searchInfoLabel.setText(
-                self.tr("""<p>The package search did not return anything."""
-                        """</p>"""))
+                self.tr("""<p>There were no results for <b>{0}</b>.</p>"""))
+        
+        wrapper = textwrap.TextWrapper(width=80)
+        for result in results:
+            try:
+                description = "\n".join([
+                    wrapper.fill(line) for line in
+                    result['description'].strip().splitlines()
+                ])
+            except KeyError:
+                description = ""
+            itm = QTreeWidgetItem(
+                self.searchResultList, [
+                    result['name'].strip(),
+                    result["released"].strip(),
+                    description,
+                ])
+            itm.setData(0, self.SearchVersionRole, result['version'])
         
         header = self.searchResultList.header()
-        self.searchResultList.sortItems(1, Qt.DescendingOrder)
         header.setStretchLastSection(False)
         header.resizeSections(QHeaderView.ResizeToContents)
         headerSize = 0
@@ -723,87 +807,6 @@
         
         self.searchEditName.setFocus(Qt.OtherFocusReason)
     
-    def __searchError(self, errorCode, errorString):
-        """
-        Private method handling a search error.
-        
-        @param errorCode code of the error
-        @type int
-        @param errorString error message
-        @type str
-        """
-        self.__finishSearch()
-        E5MessageBox.warning(
-            self,
-            self.tr("Search PyPI"),
-            self.tr("""<p>The package search failed.</p><p>Reason: {0}</p>""")
-            .format(errorString))
-        self.searchInfoLabel.setText(self.tr("Error: {0}").format(errorString))
-    
-    def __transformHits(self, hits):
-        """
-        Private method to convert the list returned from pypi into a
-        packages list.
-        
-        @param hits list returned from pypi
-        @type list of dict
-        @return list of packages
-        @rtype list of dict
-        """
-        # we only include the record with the highest score
-        packages = {}
-        for hit in hits:
-            name = hit['name'].strip()
-            summary = (hit['summary'] or "").strip()
-            version = hit['version'].strip()
-            score = self.__score(name, summary)
-            # cleanup the summary
-            if summary in ["UNKNOWN", "."]:
-                summary = ""
-
-            if name not in packages:
-                packages[name] = {
-                    'name': name,
-                    'summary': summary,
-                    'version': [version.strip()],
-                    'score': score}
-            else:
-                if score > packages[name]['score']:
-                    packages[name]['score'] = score
-                    packages[name]['summary'] = summary
-                packages[name]['version'].append(version.strip())
-
-        return list(packages.values())
-    
-    def __score(self, name, summary):
-        """
-        Private method to calculate some score for a search result.
-        
-        @param name name of the returned package
-        @type str
-        @param summary summary text for the package
-        @type str
-        @return score value
-        @rtype int
-        """
-        score = 0
-        for queryTerm in self.__queryName:
-            if queryTerm.lower() in name.lower():
-                score += 4
-                if queryTerm.lower() == name.lower():
-                    score += 4
-            
-        for queryTerm in self.__querySummary:
-            if queryTerm.lower() in summary.lower():
-                if re.search(r'\b{0}\b'.format(re.escape(queryTerm)),
-                             summary, re.IGNORECASE) is not None:
-                    # word match gets even higher score
-                    score += 2
-                else:
-                    score += 1
-        
-        return score
-    
     @pyqtSlot()
     def on_installButton_clicked(self):
         """
@@ -866,20 +869,7 @@
         if not item:
             item = self.searchResultList.selectedItems()[0]
         
-        packageVersions = item.data(0, self.SearchVersionRole)
-        if len(packageVersions) == 1:
-            packageVersion = packageVersions[0]
-        elif len(packageVersions) == 0:
-            packageVersion = ""
-        else:
-            packageVersion, ok = QInputDialog.getItem(
-                self,
-                self.tr("Show Package Details"),
-                self.tr("Select the package version:"),
-                packageVersions,
-                0, False)
-            if not ok:
-                return
+        packageVersion = item.data(0, self.SearchVersionRole)
         packageName = item.text(0)
         
         self.__showPackageDetails(packageName, packageVersion)
--- a/eric6/PipInterface/PipPackagesWidget.ui	Sun Feb 07 17:34:51 2021 +0100
+++ b/eric6/PipInterface/PipPackagesWidget.ui	Mon Feb 08 18:01:02 2021 +0100
@@ -309,10 +309,20 @@
       </property>
       <item>
        <layout class="QGridLayout" name="gridLayout">
+        <item row="0" column="2" rowspan="2">
+         <widget class="QToolButton" name="searchButton">
+          <property name="enabled">
+           <bool>false</bool>
+          </property>
+          <property name="toolTip">
+           <string>Press to start the search</string>
+          </property>
+         </widget>
+        </item>
         <item row="0" column="0">
          <widget class="QLabel" name="label">
           <property name="text">
-           <string>Name:</string>
+           <string>Package</string>
           </property>
          </widget>
         </item>
@@ -326,50 +336,6 @@
           </property>
          </widget>
         </item>
-        <item row="0" column="2" rowspan="2">
-         <widget class="QComboBox" name="searchTermCombineComboBox">
-          <property name="toolTip">
-           <string>Select the search term combination operation</string>
-          </property>
-          <item>
-           <property name="text">
-            <string notr="true">and</string>
-           </property>
-          </item>
-          <item>
-           <property name="text">
-            <string notr="true">or</string>
-           </property>
-          </item>
-         </widget>
-        </item>
-        <item row="1" column="0">
-         <widget class="QLabel" name="label_2">
-          <property name="text">
-           <string>Summary:</string>
-          </property>
-         </widget>
-        </item>
-        <item row="1" column="1">
-         <widget class="QLineEdit" name="searchEditSummary">
-          <property name="toolTip">
-           <string>Enter the search term for the package summary</string>
-          </property>
-          <property name="placeholderText">
-           <string>Enter search term</string>
-          </property>
-         </widget>
-        </item>
-        <item row="0" column="3" rowspan="2">
-         <widget class="QToolButton" name="searchButton">
-          <property name="enabled">
-           <bool>false</bool>
-          </property>
-          <property name="toolTip">
-           <string>Press to start the search</string>
-          </property>
-         </widget>
-        </item>
        </layout>
       </item>
       <item>
@@ -398,9 +364,6 @@
         <property name="selectionMode">
          <enum>QAbstractItemView::ExtendedSelection</enum>
         </property>
-        <property name="sortingEnabled">
-         <bool>true</bool>
-        </property>
         <property name="allColumnsShowFocus">
          <bool>true</bool>
         </property>
@@ -414,7 +377,7 @@
         </column>
         <column>
          <property name="text">
-          <string>Score</string>
+          <string>Released</string>
          </property>
         </column>
         <column>
@@ -507,8 +470,6 @@
   <tabstop>showPackageDetailsButton</tabstop>
   <tabstop>searchToggleButton</tabstop>
   <tabstop>searchEditName</tabstop>
-  <tabstop>searchTermCombineComboBox</tabstop>
-  <tabstop>searchEditSummary</tabstop>
   <tabstop>searchButton</tabstop>
   <tabstop>searchResultList</tabstop>
   <tabstop>installButton</tabstop>
--- a/eric6/i18n/eric6_cs.ts	Sun Feb 07 17:34:51 2021 +0100
+++ b/eric6/i18n/eric6_cs.ts	Mon Feb 08 18:01:02 2021 +0100
@@ -47070,42 +47070,42 @@
 <context>
     <name>MicroPythonDevice</name>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="306"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="337"/>
         <source>Unsupported Device</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="316"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="347"/>
         <source>REPL is not supported by this device.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="335"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="366"/>
         <source>Plotter is not supported by this device.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="354"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="385"/>
         <source>Running scripts is not supported by this device.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="374"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="405"/>
         <source>File Manager is not supported by this device.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="417"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="448"/>
         <source>Select Device Directory</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="417"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="448"/>
         <source>Select the directory for the connected device:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="112"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="143"/>
         <source>Generic Board</source>
         <translation type="unfinished"></translation>
     </message>
@@ -51422,17 +51422,17 @@
 <context>
     <name>Pip</name>
     <message>
-        <location filename="../PipInterface/Pip.py" line="379"/>
+        <location filename="../PipInterface/Pip.py" line="388"/>
         <source>Install Packages</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="344"/>
+        <location filename="../PipInterface/Pip.py" line="353"/>
         <source>Upgrade Packages</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="469"/>
+        <location filename="../PipInterface/Pip.py" line="478"/>
         <source>Uninstall Packages</source>
         <translation type="unfinished"></translation>
     </message>
@@ -51447,97 +51447,97 @@
         <translation type="obsolete">Konfigurovat...</translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="238"/>
+        <location filename="../PipInterface/Pip.py" line="247"/>
         <source>Install PIP</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="279"/>
+        <location filename="../PipInterface/Pip.py" line="288"/>
         <source>Repair PIP</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="408"/>
+        <location filename="../PipInterface/Pip.py" line="417"/>
         <source>Install Packages from Requirements</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="469"/>
+        <location filename="../PipInterface/Pip.py" line="478"/>
         <source>Do you really want to uninstall these packages?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="482"/>
+        <location filename="../PipInterface/Pip.py" line="491"/>
         <source>Uninstall Packages from Requirements</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="95"/>
+        <location filename="../PipInterface/Pip.py" line="104"/>
         <source>python exited with an error ({0}).</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="103"/>
+        <location filename="../PipInterface/Pip.py" line="112"/>
         <source>python did not finish within 30 seconds.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="106"/>
+        <location filename="../PipInterface/Pip.py" line="115"/>
         <source>python could not be started.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="200"/>
+        <location filename="../PipInterface/Pip.py" line="209"/>
         <source>Interpreter for Virtual Environment</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="200"/>
+        <location filename="../PipInterface/Pip.py" line="209"/>
         <source>No interpreter configured for the selected virtual environment.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="173"/>
+        <location filename="../PipInterface/Pip.py" line="182"/>
         <source>&lt;project&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="298"/>
+        <location filename="../PipInterface/Pip.py" line="307"/>
         <source>You are trying to upgrade PyQt packages. This might not work for the current instance of Python ({0}). Do you want to continue?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="679"/>
+        <location filename="../PipInterface/Pip.py" line="688"/>
         <source>Cache Info</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="704"/>
+        <location filename="../PipInterface/Pip.py" line="713"/>
         <source>List Cached Files</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="694"/>
+        <location filename="../PipInterface/Pip.py" line="703"/>
         <source>Enter a file pattern (empty for all):</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="728"/>
+        <location filename="../PipInterface/Pip.py" line="737"/>
         <source>Remove Cached Files</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="720"/>
+        <location filename="../PipInterface/Pip.py" line="729"/>
         <source>Enter a file pattern:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="751"/>
+        <location filename="../PipInterface/Pip.py" line="760"/>
         <source>Purge Cache</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="744"/>
+        <location filename="../PipInterface/Pip.py" line="753"/>
         <source>Do you really want to purge the pip cache? All files need to be downloaded again.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -52069,7 +52069,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.ui" line="412"/>
+        <location filename="../PipInterface/PipPackagesWidget.ui" line="375"/>
         <source>Package</source>
         <translation type="unfinished"></translation>
     </message>
@@ -52124,7 +52124,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.ui" line="462"/>
+        <location filename="../PipInterface/PipPackagesWidget.ui" line="425"/>
         <source>Press to show details for the selected entry</source>
         <translation type="unfinished"></translation>
     </message>
@@ -52134,137 +52134,122 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="90"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="191"/>
         <source>Name:</source>
         <translation type="unfinished">Jméno:</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.ui" line="322"/>
-        <source>Enter the search term for the package name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.ui" line="359"/>
-        <source>Enter search term</source>
-        <translation type="unfinished">Zadejte hledaný výraz</translation>
-    </message>
-    <message>
         <location filename="../PipInterface/PipPackagesWidget.ui" line="332"/>
-        <source>Select the search term combination operation</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="94"/>
+        <source>Enter the search term for the package name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.ui" line="335"/>
+        <source>Enter search term</source>
+        <translation type="unfinished">Zadejte hledaný výraz</translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="195"/>
         <source>Summary:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.ui" line="356"/>
-        <source>Enter the search term for the package summary</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.ui" line="369"/>
+        <location filename="../PipInterface/PipPackagesWidget.ui" line="318"/>
         <source>Press to start the search</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.ui" line="417"/>
-        <source>Score</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.ui" line="422"/>
+        <location filename="../PipInterface/PipPackagesWidget.ui" line="385"/>
         <source>Description</source>
         <translation type="unfinished">Popisek</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.ui" line="448"/>
+        <location filename="../PipInterface/PipPackagesWidget.ui" line="411"/>
         <source>Press to install the selected package</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.ui" line="455"/>
+        <location filename="../PipInterface/PipPackagesWidget.ui" line="418"/>
         <source>Press to install the selected package to the user site</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="66"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="168"/>
         <source>pip Menu</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="91"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="192"/>
         <source>Version:</source>
         <translation type="unfinished">Verze:</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="92"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="193"/>
         <source>Location:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="93"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="194"/>
         <source>Requires:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="95"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="196"/>
         <source>Homepage:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="96"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="197"/>
         <source>Author:</source>
         <translation type="unfinished">Autor:</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="97"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="198"/>
         <source>Author Email:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="98"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="199"/>
         <source>License:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="99"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="200"/>
         <source>Metadata Version:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="100"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="201"/>
         <source>Installer:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="101"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="202"/>
         <source>Classifiers:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="102"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="203"/>
         <source>Entry Points:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="103"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="204"/>
         <source>Files:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="241"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="344"/>
         <source>Getting installed packages...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="256"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="359"/>
         <source>Getting outdated packages...</source>
         <translation type="unfinished"></translation>
     </message>
     <message numerus="yes">
-        <location filename="../PipInterface/PipPackagesWidget.py" line="665"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="761"/>
         <source>%n package(s) found.</source>
         <translation type="unfinished">
             <numerusform></numerusform>
@@ -52273,125 +52258,125 @@
         </translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="913"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="903"/>
         <source>Search PyPI</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="701"/>
-        <source>&lt;p&gt;The package search did not return anything.&lt;/p&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="736"/>
-        <source>&lt;p&gt;The package search failed.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../PipInterface/PipPackagesWidget.py" line="741"/>
         <source>Error: {0}</source>
-        <translation type="unfinished">Chyby: {0}</translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="875"/>
-        <source>Show Package Details</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="875"/>
-        <source>Select the package version:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="913"/>
+        <translation type="obsolete">Chyby: {0}</translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="903"/>
         <source>&lt;p&gt;No package details info for &lt;b&gt;{0}&lt;/b&gt; available.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="929"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="919"/>
         <source>Install Pip</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="922"/>
+        <source>Install Pip to User-Site</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="925"/>
+        <source>Repair Pip</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="1042"/>
+        <source>Install Packages</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <location filename="../PipInterface/PipPackagesWidget.py" line="932"/>
-        <source>Install Pip to User-Site</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="935"/>
-        <source>Repair Pip</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="1052"/>
-        <source>Install Packages</source>
+        <source>Install Local Package</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="936"/>
+        <source>Install Requirements</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="939"/>
+        <source>Uninstall Requirements</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../PipInterface/PipPackagesWidget.py" line="942"/>
-        <source>Install Local Package</source>
+        <source>Generate Requirements...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="960"/>
+        <source>Edit User Configuration...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="963"/>
+        <source>Edit Environment Configuration...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="968"/>
+        <source>Configure...</source>
+        <translation type="unfinished">Konfigurovat...</translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="1158"/>
+        <source>Edit Configuration</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="1158"/>
+        <source>No valid configuration path determined. Aborting</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../PipInterface/PipPackagesWidget.py" line="946"/>
-        <source>Install Requirements</source>
+        <source>Show Cache Info...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../PipInterface/PipPackagesWidget.py" line="949"/>
-        <source>Uninstall Requirements</source>
+        <source>Show Cached Files...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../PipInterface/PipPackagesWidget.py" line="952"/>
-        <source>Generate Requirements...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="970"/>
-        <source>Edit User Configuration...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="973"/>
-        <source>Edit Environment Configuration...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="978"/>
-        <source>Configure...</source>
-        <translation type="unfinished">Konfigurovat...</translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="1168"/>
-        <source>Edit Configuration</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="1168"/>
-        <source>No valid configuration path determined. Aborting</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="956"/>
-        <source>Show Cache Info...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="959"/>
-        <source>Show Cached Files...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="962"/>
         <source>Remove Cached Files...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="965"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="955"/>
         <source>Purge Cache...</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.ui" line="380"/>
+        <source>Released</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="744"/>
+        <source>&lt;p&gt;Received an error while searching for &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;&lt;p&gt;Error: {1}&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="763"/>
+        <source>Showing first 20 packages found.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="770"/>
+        <source>&lt;p&gt;There were no results for &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>PipPage</name>
Binary file eric6/i18n/eric6_de.qm has changed
--- a/eric6/i18n/eric6_de.ts	Sun Feb 07 17:34:51 2021 +0100
+++ b/eric6/i18n/eric6_de.ts	Mon Feb 08 18:01:02 2021 +0100
@@ -1,6 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE TS>
-<TS version="2.1" language="de">
+<!DOCTYPE TS><TS version="2.0" language="de" sourcelanguage="">
 <context>
     <name>AboutDialog</name>
     <message>
@@ -2116,8 +2115,8 @@
     </message>
     <message>
         <location filename="../WebBrowser/Bookmarks/BookmarksMenu.py" line="170"/>
-        <source>Open in New Tab	Ctrl+LMB</source>
-        <translation>In neuem Register öffnen	Strg+LMK</translation>
+        <source>Open in New Tab<byte value="x9"/>Ctrl+LMB</source>
+        <translation>In neuem Register öffnen<byte value="x9"/>Strg+LMK</translation>
     </message>
     <message>
         <location filename="../WebBrowser/Bookmarks/BookmarksMenu.py" line="174"/>
@@ -2185,8 +2184,8 @@
     </message>
     <message>
         <location filename="../WebBrowser/Bookmarks/BookmarksToolBar.py" line="90"/>
-        <source>Open in New Tab	Ctrl+LMB</source>
-        <translation>In neuem Register öffnen	Strg+LMK</translation>
+        <source>Open in New Tab<byte value="x9"/>Ctrl+LMB</source>
+        <translation>In neuem Register öffnen<byte value="x9"/>Strg+LMK</translation>
     </message>
     <message>
         <location filename="../WebBrowser/Bookmarks/BookmarksToolBar.py" line="94"/>
@@ -43751,42 +43750,42 @@
 <context>
     <name>MicroPythonDevice</name>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="306"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="337"/>
         <source>Unsupported Device</source>
         <translation>Nicht unterstütztes Gerät</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="316"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="347"/>
         <source>REPL is not supported by this device.</source>
         <translation>REPL wird von diesem Gerät nicht unterstützt.</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="335"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="366"/>
         <source>Plotter is not supported by this device.</source>
         <translation>Der Plotter wird von diesem Gerät nicht unterstützt.</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="354"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="385"/>
         <source>Running scripts is not supported by this device.</source>
         <translation>Die Ausführung von Skripten wird von diesem Gerät nicht unterstützt.</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="374"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="405"/>
         <source>File Manager is not supported by this device.</source>
         <translation>Der Dateimanager wird von diesem Gerät nicht unterstützt.</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="417"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="448"/>
         <source>Select Device Directory</source>
         <translation>Auswahl des Geräteverzeichnis</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="417"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="448"/>
         <source>Select the directory for the connected device:</source>
         <translation>Wähle das Verzeichnis für das verbundene Gerät:</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="112"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="143"/>
         <source>Generic Board</source>
         <translation>Generisches Board</translation>
     </message>
@@ -44671,12 +44670,12 @@
     </message>
     <message>
         <location filename="../MicroPython/MicroPythonWidget.py" line="1101"/>
-        <source>µPy Chart</source>
+        <source>&#xc2;&#xb5;Py Chart</source>
         <translation>µPy Chart</translation>
     </message>
     <message>
         <location filename="../MicroPython/MicroPythonWidget.py" line="1184"/>
-        <source>µPy Files</source>
+        <source>&#xc2;&#xb5;Py Files</source>
         <translation>µPy Dateien</translation>
     </message>
     <message>
@@ -48007,112 +48006,112 @@
 <context>
     <name>Pip</name>
     <message>
-        <location filename="../PipInterface/Pip.py" line="379"/>
+        <location filename="../PipInterface/Pip.py" line="388"/>
         <source>Install Packages</source>
         <translation>Pakete installieren</translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="344"/>
+        <location filename="../PipInterface/Pip.py" line="353"/>
         <source>Upgrade Packages</source>
         <translation>Pakete aktualisieren</translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="469"/>
+        <location filename="../PipInterface/Pip.py" line="478"/>
         <source>Uninstall Packages</source>
         <translation>Pakete deinstallieren</translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="408"/>
+        <location filename="../PipInterface/Pip.py" line="417"/>
         <source>Install Packages from Requirements</source>
         <translation>Pakete gem. Anforderungen installieren</translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="469"/>
+        <location filename="../PipInterface/Pip.py" line="478"/>
         <source>Do you really want to uninstall these packages?</source>
         <translation>Sollen diese Pakete wirklich deinstalliert werden?</translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="482"/>
+        <location filename="../PipInterface/Pip.py" line="491"/>
         <source>Uninstall Packages from Requirements</source>
         <translation>Pakete gem. Anforderungen deinstallieren</translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="238"/>
+        <location filename="../PipInterface/Pip.py" line="247"/>
         <source>Install PIP</source>
         <translation>PIP installieren</translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="279"/>
+        <location filename="../PipInterface/Pip.py" line="288"/>
         <source>Repair PIP</source>
         <translation>PIP reparieren</translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="95"/>
+        <location filename="../PipInterface/Pip.py" line="104"/>
         <source>python exited with an error ({0}).</source>
         <translation>python endete mit einem Fehler ({0}).</translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="103"/>
+        <location filename="../PipInterface/Pip.py" line="112"/>
         <source>python did not finish within 30 seconds.</source>
         <translation>python endete nicht innerhalb 30 Sekunden.</translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="106"/>
+        <location filename="../PipInterface/Pip.py" line="115"/>
         <source>python could not be started.</source>
         <translation>python konnte nicht gestarted werden.</translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="200"/>
+        <location filename="../PipInterface/Pip.py" line="209"/>
         <source>Interpreter for Virtual Environment</source>
         <translation>Interpreter für virtuelle Umgebung</translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="200"/>
+        <location filename="../PipInterface/Pip.py" line="209"/>
         <source>No interpreter configured for the selected virtual environment.</source>
         <translation>Für die gewählte virtuelle Umgebung ist kein Interpreter konfiguriert.</translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="173"/>
+        <location filename="../PipInterface/Pip.py" line="182"/>
         <source>&lt;project&gt;</source>
         <translation>&lt;Projekt&gt;</translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="298"/>
+        <location filename="../PipInterface/Pip.py" line="307"/>
         <source>You are trying to upgrade PyQt packages. This might not work for the current instance of Python ({0}). Do you want to continue?</source>
         <translation>Sie versuchen ein Upgrade von PyQt Paketen. Dies könnte für die laufende Python Instanz ({0}) fehlschlagen. Soll fortgefahren werden?</translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="679"/>
+        <location filename="../PipInterface/Pip.py" line="688"/>
         <source>Cache Info</source>
         <translation>Zwischenspeicherinformationen</translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="704"/>
+        <location filename="../PipInterface/Pip.py" line="713"/>
         <source>List Cached Files</source>
         <translation>Liste zwischengespeicherte Dateien</translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="694"/>
+        <location filename="../PipInterface/Pip.py" line="703"/>
         <source>Enter a file pattern (empty for all):</source>
         <translation>Gib ein Dateinamenmuster ein (leer für alle):</translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="728"/>
+        <location filename="../PipInterface/Pip.py" line="737"/>
         <source>Remove Cached Files</source>
         <translation>Zwischengespeicherte Dateien Löschen</translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="720"/>
+        <location filename="../PipInterface/Pip.py" line="729"/>
         <source>Enter a file pattern:</source>
         <translation>Gib ein Dateinamenmuster ein:</translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="751"/>
+        <location filename="../PipInterface/Pip.py" line="760"/>
         <source>Purge Cache</source>
         <translation>Zwischenspeicher Leeren</translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="744"/>
+        <location filename="../PipInterface/Pip.py" line="753"/>
         <source>Do you really want to purge the pip cache? All files need to be downloaded again.</source>
         <translation>Soll der pip Zwischenspeicher wirklich geleert werden? Alle Dateien müssen neu heruntergeladen werden.</translation>
     </message>
@@ -48616,7 +48615,7 @@
         <translation>Nur Nutzerverzeichnis</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.ui" line="412"/>
+        <location filename="../PipInterface/PipPackagesWidget.ui" line="375"/>
         <source>Package</source>
         <translation>Paket</translation>
     </message>
@@ -48671,7 +48670,7 @@
         <translation>Drücken, um die ausgewählten Pakete zu deinstallieren</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.ui" line="462"/>
+        <location filename="../PipInterface/PipPackagesWidget.ui" line="425"/>
         <source>Press to show details for the selected entry</source>
         <translation>Drücken, um Details für den ausgewählten Eintrag anzuzeigen</translation>
     </message>
@@ -48681,137 +48680,122 @@
         <translation>Umschalten, um das Suchfenster anzuzeigen bzw. zu verstecken</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="90"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="191"/>
         <source>Name:</source>
         <translation>Name:</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.ui" line="322"/>
-        <source>Enter the search term for the package name</source>
-        <translation>Gib den Suchtext für Paketnamen ein</translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.ui" line="359"/>
-        <source>Enter search term</source>
-        <translation>Gib den Suchtext ein</translation>
-    </message>
-    <message>
         <location filename="../PipInterface/PipPackagesWidget.ui" line="332"/>
-        <source>Select the search term combination operation</source>
-        <translation>Wähle die Verbindungsoperation für die Suchtexte</translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="94"/>
+        <source>Enter the search term for the package name</source>
+        <translation>Gib den Suchtext für Paketnamen ein</translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.ui" line="335"/>
+        <source>Enter search term</source>
+        <translation>Gib den Suchtext ein</translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="195"/>
         <source>Summary:</source>
         <translation>Kurzbeschreibung:</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.ui" line="356"/>
-        <source>Enter the search term for the package summary</source>
-        <translation>Gib den Suchtext für Paketkurzbeschreibungen ein</translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.ui" line="369"/>
+        <location filename="../PipInterface/PipPackagesWidget.ui" line="318"/>
         <source>Press to start the search</source>
         <translation>Drücken, um die Suche zu starten</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.ui" line="417"/>
-        <source>Score</source>
-        <translation>Wert</translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.ui" line="422"/>
+        <location filename="../PipInterface/PipPackagesWidget.ui" line="385"/>
         <source>Description</source>
         <translation>Beschreibung</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.ui" line="448"/>
+        <location filename="../PipInterface/PipPackagesWidget.ui" line="411"/>
         <source>Press to install the selected package</source>
         <translation>Drücken, um die ausgewählten Pakete zu installieren</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.ui" line="455"/>
+        <location filename="../PipInterface/PipPackagesWidget.ui" line="418"/>
         <source>Press to install the selected package to the user site</source>
         <translation>Drücken, um die ausgewählten Pakete in das Python Nutzerverzeichnis zu installieren</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="66"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="168"/>
         <source>pip Menu</source>
         <translation>pip Menü</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="91"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="192"/>
         <source>Version:</source>
         <translation>Version:</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="92"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="193"/>
         <source>Location:</source>
         <translation>Speicherort:</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="93"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="194"/>
         <source>Requires:</source>
         <translation>Erfordert:</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="95"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="196"/>
         <source>Homepage:</source>
         <translation>Homepage:</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="96"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="197"/>
         <source>Author:</source>
         <translation>Autor:</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="97"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="198"/>
         <source>Author Email:</source>
         <translation>Autor Email:</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="98"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="199"/>
         <source>License:</source>
         <translation>Lizenz:</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="99"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="200"/>
         <source>Metadata Version:</source>
         <translation>Metadaten Version:</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="100"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="201"/>
         <source>Installer:</source>
         <translation>Installer:</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="101"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="202"/>
         <source>Classifiers:</source>
         <translation>Klassifizierungen:</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="102"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="203"/>
         <source>Entry Points:</source>
         <translation>Einsprungpunkte:</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="103"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="204"/>
         <source>Files:</source>
         <translation>Dateien:</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="241"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="344"/>
         <source>Getting installed packages...</source>
         <translation>Ermittle installierte Pakete...</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="256"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="359"/>
         <source>Getting outdated packages...</source>
         <translation>Ermittle veraltete Pakete...</translation>
     </message>
     <message numerus="yes">
-        <location filename="../PipInterface/PipPackagesWidget.py" line="665"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="761"/>
         <source>%n package(s) found.</source>
         <translation>
             <numerusform>%n Paket gefunden.</numerusform>
@@ -48819,125 +48803,120 @@
         </translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="913"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="903"/>
         <source>Search PyPI</source>
         <translation>PyPI durchsuchen</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="701"/>
-        <source>&lt;p&gt;The package search did not return anything.&lt;/p&gt;</source>
-        <translation>&lt;p&gt;Die Paketsuche lieferte keine Ergebnisse.&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="736"/>
-        <source>&lt;p&gt;The package search failed.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
-        <translation>&lt;p&gt;Die Paketsuche schlug fehl.&lt;/p&gt;&lt;p&gt;Ursache: {0}&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="741"/>
-        <source>Error: {0}</source>
-        <translation>Fehler: {0}</translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="875"/>
-        <source>Show Package Details</source>
-        <translation>Paketdetails anzeigen</translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="875"/>
-        <source>Select the package version:</source>
-        <translation>Wähle die Paketversion aus:</translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="913"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="903"/>
         <source>&lt;p&gt;No package details info for &lt;b&gt;{0}&lt;/b&gt; available.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Keine detaillierten Paketinformationen für &lt;b&gt;{0}&lt;/b&gt; verfügbar.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="929"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="919"/>
         <source>Install Pip</source>
         <translation>Pip installieren</translation>
     </message>
     <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="922"/>
+        <source>Install Pip to User-Site</source>
+        <translation>Pip in Nutzerverzeichnis installieren</translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="925"/>
+        <source>Repair Pip</source>
+        <translation>Pip reparieren</translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="1042"/>
+        <source>Install Packages</source>
+        <translation>Pakete installieren</translation>
+    </message>
+    <message>
         <location filename="../PipInterface/PipPackagesWidget.py" line="932"/>
-        <source>Install Pip to User-Site</source>
-        <translation>Pip in Nutzerverzeichnis installieren</translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="935"/>
-        <source>Repair Pip</source>
-        <translation>Pip reparieren</translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="1052"/>
-        <source>Install Packages</source>
-        <translation>Pakete installieren</translation>
+        <source>Install Local Package</source>
+        <translation>Lokales Paket installieren</translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="936"/>
+        <source>Install Requirements</source>
+        <translation>Paketanforderungen installieren</translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="939"/>
+        <source>Uninstall Requirements</source>
+        <translation>Paketanforderungen deinstallieren</translation>
     </message>
     <message>
         <location filename="../PipInterface/PipPackagesWidget.py" line="942"/>
-        <source>Install Local Package</source>
-        <translation>Lokales Paket installieren</translation>
+        <source>Generate Requirements...</source>
+        <translation>Anforderungen erzeugen...</translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="960"/>
+        <source>Edit User Configuration...</source>
+        <translation>Nutzerkonfiguration bearbeiten...</translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="963"/>
+        <source>Edit Environment Configuration...</source>
+        <translation>Umgebungskonfiguration bearbeiten...</translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="968"/>
+        <source>Configure...</source>
+        <translation>Einstellungen...</translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="1158"/>
+        <source>Edit Configuration</source>
+        <translation>Konfiguration bearbeiten</translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="1158"/>
+        <source>No valid configuration path determined. Aborting</source>
+        <translation>Es konnte kein gültiger Konfigurationspfad ermittelt werden. Abbruch</translation>
     </message>
     <message>
         <location filename="../PipInterface/PipPackagesWidget.py" line="946"/>
-        <source>Install Requirements</source>
-        <translation>Paketanforderungen installieren</translation>
+        <source>Show Cache Info...</source>
+        <translation>Zwischenspeicherinfo...</translation>
     </message>
     <message>
         <location filename="../PipInterface/PipPackagesWidget.py" line="949"/>
-        <source>Uninstall Requirements</source>
-        <translation>Paketanforderungen deinstallieren</translation>
+        <source>Show Cached Files...</source>
+        <translation>Zwischengespeicherte Dateien...</translation>
     </message>
     <message>
         <location filename="../PipInterface/PipPackagesWidget.py" line="952"/>
-        <source>Generate Requirements...</source>
-        <translation>Anforderungen erzeugen...</translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="970"/>
-        <source>Edit User Configuration...</source>
-        <translation>Nutzerkonfiguration bearbeiten...</translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="973"/>
-        <source>Edit Environment Configuration...</source>
-        <translation>Umgebungskonfiguration bearbeiten...</translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="978"/>
-        <source>Configure...</source>
-        <translation>Einstellungen...</translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="1168"/>
-        <source>Edit Configuration</source>
-        <translation>Konfiguration bearbeiten</translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="1168"/>
-        <source>No valid configuration path determined. Aborting</source>
-        <translation>Es konnte kein gültiger Konfigurationspfad ermittelt werden. Abbruch</translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="956"/>
-        <source>Show Cache Info...</source>
-        <translation>Zwischenspeicherinfo...</translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="959"/>
-        <source>Show Cached Files...</source>
-        <translation>Zwischengespeicherte Dateien...</translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="962"/>
         <source>Remove Cached Files...</source>
         <translation>Zwischengespeicherte Dateien löschen...</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="965"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="955"/>
         <source>Purge Cache...</source>
         <translation>Zwischenspeicher leeren...</translation>
     </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.ui" line="380"/>
+        <source>Released</source>
+        <translation>Veröffentlicht</translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="744"/>
+        <source>&lt;p&gt;Received an error while searching for &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;&lt;p&gt;Error: {1}&lt;/p&gt;</source>
+        <translation>&lt;p&gt;Fehler während der Suche nach &lt;b&gt;{0}&lt;/b&gt; empfangen.&lt;/p&gt;&lt;p&gt;Fehler: {1}&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="763"/>
+        <source>Showing first 20 packages found.</source>
+        <translation>Zeige die ersten 20 gefundenen Pakete.</translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="770"/>
+        <source>&lt;p&gt;There were no results for &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
+        <translation>&lt;p&gt;Es gab keine Ergebnisse für &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</translation>
+    </message>
 </context>
 <context>
     <name>PipPage</name>
@@ -84105,8 +84084,8 @@
     </message>
     <message>
         <location filename="../WebBrowser/WebBrowserView.py" line="666"/>
-        <source>Open Link in New Tab	Ctrl+LMB</source>
-        <translation>Link in neuem Fenster öffnen	Strg+LMK</translation>
+        <source>Open Link in New Tab<byte value="x9"/>Ctrl+LMB</source>
+        <translation>Link in neuem Fenster öffnen<byte value="x9"/>Strg+LMK</translation>
     </message>
     <message>
         <location filename="../WebBrowser/WebBrowserView.py" line="672"/>
--- a/eric6/i18n/eric6_empty.ts	Sun Feb 07 17:34:51 2021 +0100
+++ b/eric6/i18n/eric6_empty.ts	Mon Feb 08 18:01:02 2021 +0100
@@ -43526,42 +43526,42 @@
 <context>
     <name>MicroPythonDevice</name>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="306"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="337"/>
         <source>Unsupported Device</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="316"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="347"/>
         <source>REPL is not supported by this device.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="335"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="366"/>
         <source>Plotter is not supported by this device.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="354"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="385"/>
         <source>Running scripts is not supported by this device.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="374"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="405"/>
         <source>File Manager is not supported by this device.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="417"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="448"/>
         <source>Select Device Directory</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="417"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="448"/>
         <source>Select the directory for the connected device:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="112"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="143"/>
         <source>Generic Board</source>
         <translation type="unfinished"></translation>
     </message>
@@ -47768,112 +47768,112 @@
 <context>
     <name>Pip</name>
     <message>
-        <location filename="../PipInterface/Pip.py" line="379"/>
+        <location filename="../PipInterface/Pip.py" line="388"/>
         <source>Install Packages</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="344"/>
+        <location filename="../PipInterface/Pip.py" line="353"/>
         <source>Upgrade Packages</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="469"/>
+        <location filename="../PipInterface/Pip.py" line="478"/>
         <source>Uninstall Packages</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="238"/>
+        <location filename="../PipInterface/Pip.py" line="247"/>
         <source>Install PIP</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="279"/>
+        <location filename="../PipInterface/Pip.py" line="288"/>
         <source>Repair PIP</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="408"/>
+        <location filename="../PipInterface/Pip.py" line="417"/>
         <source>Install Packages from Requirements</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="469"/>
+        <location filename="../PipInterface/Pip.py" line="478"/>
         <source>Do you really want to uninstall these packages?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="482"/>
+        <location filename="../PipInterface/Pip.py" line="491"/>
         <source>Uninstall Packages from Requirements</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="95"/>
+        <location filename="../PipInterface/Pip.py" line="104"/>
         <source>python exited with an error ({0}).</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="103"/>
+        <location filename="../PipInterface/Pip.py" line="112"/>
         <source>python did not finish within 30 seconds.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="106"/>
+        <location filename="../PipInterface/Pip.py" line="115"/>
         <source>python could not be started.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="200"/>
+        <location filename="../PipInterface/Pip.py" line="209"/>
         <source>Interpreter for Virtual Environment</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="200"/>
+        <location filename="../PipInterface/Pip.py" line="209"/>
         <source>No interpreter configured for the selected virtual environment.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="173"/>
+        <location filename="../PipInterface/Pip.py" line="182"/>
         <source>&lt;project&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="298"/>
+        <location filename="../PipInterface/Pip.py" line="307"/>
         <source>You are trying to upgrade PyQt packages. This might not work for the current instance of Python ({0}). Do you want to continue?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="679"/>
+        <location filename="../PipInterface/Pip.py" line="688"/>
         <source>Cache Info</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="704"/>
+        <location filename="../PipInterface/Pip.py" line="713"/>
         <source>List Cached Files</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="694"/>
+        <location filename="../PipInterface/Pip.py" line="703"/>
         <source>Enter a file pattern (empty for all):</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="728"/>
+        <location filename="../PipInterface/Pip.py" line="737"/>
         <source>Remove Cached Files</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="720"/>
+        <location filename="../PipInterface/Pip.py" line="729"/>
         <source>Enter a file pattern:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="751"/>
+        <location filename="../PipInterface/Pip.py" line="760"/>
         <source>Purge Cache</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="744"/>
+        <location filename="../PipInterface/Pip.py" line="753"/>
         <source>Do you really want to purge the pip cache? All files need to be downloaded again.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -48377,7 +48377,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.ui" line="412"/>
+        <location filename="../PipInterface/PipPackagesWidget.ui" line="375"/>
         <source>Package</source>
         <translation type="unfinished"></translation>
     </message>
@@ -48432,7 +48432,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.ui" line="462"/>
+        <location filename="../PipInterface/PipPackagesWidget.ui" line="425"/>
         <source>Press to show details for the selected entry</source>
         <translation type="unfinished"></translation>
     </message>
@@ -48442,262 +48442,242 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="90"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="191"/>
         <source>Name:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.ui" line="322"/>
-        <source>Enter the search term for the package name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.ui" line="359"/>
-        <source>Enter search term</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../PipInterface/PipPackagesWidget.ui" line="332"/>
-        <source>Select the search term combination operation</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="94"/>
+        <source>Enter the search term for the package name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.ui" line="335"/>
+        <source>Enter search term</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="195"/>
         <source>Summary:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.ui" line="356"/>
-        <source>Enter the search term for the package summary</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.ui" line="369"/>
+        <location filename="../PipInterface/PipPackagesWidget.ui" line="318"/>
         <source>Press to start the search</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.ui" line="417"/>
-        <source>Score</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.ui" line="422"/>
+        <location filename="../PipInterface/PipPackagesWidget.ui" line="385"/>
         <source>Description</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.ui" line="448"/>
+        <location filename="../PipInterface/PipPackagesWidget.ui" line="411"/>
         <source>Press to install the selected package</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.ui" line="455"/>
+        <location filename="../PipInterface/PipPackagesWidget.ui" line="418"/>
         <source>Press to install the selected package to the user site</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="66"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="168"/>
         <source>pip Menu</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="91"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="192"/>
         <source>Version:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="92"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="193"/>
         <source>Location:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="93"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="194"/>
         <source>Requires:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="95"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="196"/>
         <source>Homepage:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="96"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="197"/>
         <source>Author:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="97"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="198"/>
         <source>Author Email:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="98"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="199"/>
         <source>License:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="99"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="200"/>
         <source>Metadata Version:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="100"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="201"/>
         <source>Installer:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="101"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="202"/>
         <source>Classifiers:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="102"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="203"/>
         <source>Entry Points:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="103"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="204"/>
         <source>Files:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="241"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="344"/>
         <source>Getting installed packages...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="256"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="359"/>
         <source>Getting outdated packages...</source>
         <translation type="unfinished"></translation>
     </message>
     <message numerus="yes">
-        <location filename="../PipInterface/PipPackagesWidget.py" line="665"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="761"/>
         <source>%n package(s) found.</source>
         <translation type="unfinished">
             <numerusform></numerusform>
         </translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="913"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="903"/>
         <source>Search PyPI</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="701"/>
-        <source>&lt;p&gt;The package search did not return anything.&lt;/p&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="736"/>
-        <source>&lt;p&gt;The package search failed.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="741"/>
-        <source>Error: {0}</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="875"/>
-        <source>Show Package Details</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="875"/>
-        <source>Select the package version:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="913"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="903"/>
         <source>&lt;p&gt;No package details info for &lt;b&gt;{0}&lt;/b&gt; available.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="929"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="919"/>
         <source>Install Pip</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="922"/>
+        <source>Install Pip to User-Site</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="925"/>
+        <source>Repair Pip</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="1042"/>
+        <source>Install Packages</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <location filename="../PipInterface/PipPackagesWidget.py" line="932"/>
-        <source>Install Pip to User-Site</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="935"/>
-        <source>Repair Pip</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="1052"/>
-        <source>Install Packages</source>
+        <source>Install Local Package</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="936"/>
+        <source>Install Requirements</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="939"/>
+        <source>Uninstall Requirements</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../PipInterface/PipPackagesWidget.py" line="942"/>
-        <source>Install Local Package</source>
+        <source>Generate Requirements...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="960"/>
+        <source>Edit User Configuration...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="963"/>
+        <source>Edit Environment Configuration...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="968"/>
+        <source>Configure...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="1158"/>
+        <source>Edit Configuration</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="1158"/>
+        <source>No valid configuration path determined. Aborting</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../PipInterface/PipPackagesWidget.py" line="946"/>
-        <source>Install Requirements</source>
+        <source>Show Cache Info...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../PipInterface/PipPackagesWidget.py" line="949"/>
-        <source>Uninstall Requirements</source>
+        <source>Show Cached Files...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../PipInterface/PipPackagesWidget.py" line="952"/>
-        <source>Generate Requirements...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="970"/>
-        <source>Edit User Configuration...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="973"/>
-        <source>Edit Environment Configuration...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="978"/>
-        <source>Configure...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="1168"/>
-        <source>Edit Configuration</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="1168"/>
-        <source>No valid configuration path determined. Aborting</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="956"/>
-        <source>Show Cache Info...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="959"/>
-        <source>Show Cached Files...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="962"/>
         <source>Remove Cached Files...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="965"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="955"/>
         <source>Purge Cache...</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.ui" line="380"/>
+        <source>Released</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="744"/>
+        <source>&lt;p&gt;Received an error while searching for &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;&lt;p&gt;Error: {1}&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="763"/>
+        <source>Showing first 20 packages found.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="770"/>
+        <source>&lt;p&gt;There were no results for &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>PipPage</name>
--- a/eric6/i18n/eric6_en.ts	Sun Feb 07 17:34:51 2021 +0100
+++ b/eric6/i18n/eric6_en.ts	Mon Feb 08 18:01:02 2021 +0100
@@ -43566,42 +43566,42 @@
 <context>
     <name>MicroPythonDevice</name>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="306"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="337"/>
         <source>Unsupported Device</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="316"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="347"/>
         <source>REPL is not supported by this device.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="335"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="366"/>
         <source>Plotter is not supported by this device.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="354"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="385"/>
         <source>Running scripts is not supported by this device.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="374"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="405"/>
         <source>File Manager is not supported by this device.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="417"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="448"/>
         <source>Select Device Directory</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="417"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="448"/>
         <source>Select the directory for the connected device:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="112"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="143"/>
         <source>Generic Board</source>
         <translation type="unfinished"></translation>
     </message>
@@ -47809,112 +47809,112 @@
 <context>
     <name>Pip</name>
     <message>
-        <location filename="../PipInterface/Pip.py" line="379"/>
+        <location filename="../PipInterface/Pip.py" line="388"/>
         <source>Install Packages</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="344"/>
+        <location filename="../PipInterface/Pip.py" line="353"/>
         <source>Upgrade Packages</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="469"/>
+        <location filename="../PipInterface/Pip.py" line="478"/>
         <source>Uninstall Packages</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="408"/>
+        <location filename="../PipInterface/Pip.py" line="417"/>
         <source>Install Packages from Requirements</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="469"/>
+        <location filename="../PipInterface/Pip.py" line="478"/>
         <source>Do you really want to uninstall these packages?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="482"/>
+        <location filename="../PipInterface/Pip.py" line="491"/>
         <source>Uninstall Packages from Requirements</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="238"/>
+        <location filename="../PipInterface/Pip.py" line="247"/>
         <source>Install PIP</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="279"/>
+        <location filename="../PipInterface/Pip.py" line="288"/>
         <source>Repair PIP</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="95"/>
+        <location filename="../PipInterface/Pip.py" line="104"/>
         <source>python exited with an error ({0}).</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="103"/>
+        <location filename="../PipInterface/Pip.py" line="112"/>
         <source>python did not finish within 30 seconds.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="106"/>
+        <location filename="../PipInterface/Pip.py" line="115"/>
         <source>python could not be started.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="200"/>
+        <location filename="../PipInterface/Pip.py" line="209"/>
         <source>Interpreter for Virtual Environment</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="200"/>
+        <location filename="../PipInterface/Pip.py" line="209"/>
         <source>No interpreter configured for the selected virtual environment.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="173"/>
+        <location filename="../PipInterface/Pip.py" line="182"/>
         <source>&lt;project&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="298"/>
+        <location filename="../PipInterface/Pip.py" line="307"/>
         <source>You are trying to upgrade PyQt packages. This might not work for the current instance of Python ({0}). Do you want to continue?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="679"/>
+        <location filename="../PipInterface/Pip.py" line="688"/>
         <source>Cache Info</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="704"/>
+        <location filename="../PipInterface/Pip.py" line="713"/>
         <source>List Cached Files</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="694"/>
+        <location filename="../PipInterface/Pip.py" line="703"/>
         <source>Enter a file pattern (empty for all):</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="728"/>
+        <location filename="../PipInterface/Pip.py" line="737"/>
         <source>Remove Cached Files</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="720"/>
+        <location filename="../PipInterface/Pip.py" line="729"/>
         <source>Enter a file pattern:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="751"/>
+        <location filename="../PipInterface/Pip.py" line="760"/>
         <source>Purge Cache</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="744"/>
+        <location filename="../PipInterface/Pip.py" line="753"/>
         <source>Do you really want to purge the pip cache? All files need to be downloaded again.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -48418,7 +48418,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.ui" line="412"/>
+        <location filename="../PipInterface/PipPackagesWidget.ui" line="375"/>
         <source>Package</source>
         <translation type="unfinished"></translation>
     </message>
@@ -48473,7 +48473,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.ui" line="462"/>
+        <location filename="../PipInterface/PipPackagesWidget.ui" line="425"/>
         <source>Press to show details for the selected entry</source>
         <translation type="unfinished"></translation>
     </message>
@@ -48483,137 +48483,122 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="90"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="191"/>
         <source>Name:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.ui" line="322"/>
-        <source>Enter the search term for the package name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.ui" line="359"/>
-        <source>Enter search term</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../PipInterface/PipPackagesWidget.ui" line="332"/>
-        <source>Select the search term combination operation</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="94"/>
+        <source>Enter the search term for the package name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.ui" line="335"/>
+        <source>Enter search term</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="195"/>
         <source>Summary:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.ui" line="356"/>
-        <source>Enter the search term for the package summary</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.ui" line="369"/>
+        <location filename="../PipInterface/PipPackagesWidget.ui" line="318"/>
         <source>Press to start the search</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.ui" line="417"/>
-        <source>Score</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.ui" line="422"/>
+        <location filename="../PipInterface/PipPackagesWidget.ui" line="385"/>
         <source>Description</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.ui" line="448"/>
+        <location filename="../PipInterface/PipPackagesWidget.ui" line="411"/>
         <source>Press to install the selected package</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.ui" line="455"/>
+        <location filename="../PipInterface/PipPackagesWidget.ui" line="418"/>
         <source>Press to install the selected package to the user site</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="66"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="168"/>
         <source>pip Menu</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="91"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="192"/>
         <source>Version:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="92"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="193"/>
         <source>Location:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="93"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="194"/>
         <source>Requires:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="95"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="196"/>
         <source>Homepage:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="96"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="197"/>
         <source>Author:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="97"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="198"/>
         <source>Author Email:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="98"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="199"/>
         <source>License:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="99"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="200"/>
         <source>Metadata Version:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="100"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="201"/>
         <source>Installer:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="101"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="202"/>
         <source>Classifiers:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="102"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="203"/>
         <source>Entry Points:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="103"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="204"/>
         <source>Files:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="241"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="344"/>
         <source>Getting installed packages...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="256"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="359"/>
         <source>Getting outdated packages...</source>
         <translation type="unfinished"></translation>
     </message>
     <message numerus="yes">
-        <location filename="../PipInterface/PipPackagesWidget.py" line="665"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="761"/>
         <source>%n package(s) found.</source>
         <translation>
             <numerusform>%n package found.</numerusform>
@@ -48621,125 +48606,120 @@
         </translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="913"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="903"/>
         <source>Search PyPI</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="701"/>
-        <source>&lt;p&gt;The package search did not return anything.&lt;/p&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="736"/>
-        <source>&lt;p&gt;The package search failed.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="741"/>
-        <source>Error: {0}</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="875"/>
-        <source>Show Package Details</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="875"/>
-        <source>Select the package version:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="913"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="903"/>
         <source>&lt;p&gt;No package details info for &lt;b&gt;{0}&lt;/b&gt; available.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="929"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="919"/>
         <source>Install Pip</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="922"/>
+        <source>Install Pip to User-Site</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="925"/>
+        <source>Repair Pip</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="1042"/>
+        <source>Install Packages</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <location filename="../PipInterface/PipPackagesWidget.py" line="932"/>
-        <source>Install Pip to User-Site</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="935"/>
-        <source>Repair Pip</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="1052"/>
-        <source>Install Packages</source>
+        <source>Install Local Package</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="936"/>
+        <source>Install Requirements</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="939"/>
+        <source>Uninstall Requirements</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../PipInterface/PipPackagesWidget.py" line="942"/>
-        <source>Install Local Package</source>
+        <source>Generate Requirements...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="960"/>
+        <source>Edit User Configuration...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="963"/>
+        <source>Edit Environment Configuration...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="968"/>
+        <source>Configure...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="1158"/>
+        <source>Edit Configuration</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="1158"/>
+        <source>No valid configuration path determined. Aborting</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../PipInterface/PipPackagesWidget.py" line="946"/>
-        <source>Install Requirements</source>
+        <source>Show Cache Info...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../PipInterface/PipPackagesWidget.py" line="949"/>
-        <source>Uninstall Requirements</source>
+        <source>Show Cached Files...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../PipInterface/PipPackagesWidget.py" line="952"/>
-        <source>Generate Requirements...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="970"/>
-        <source>Edit User Configuration...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="973"/>
-        <source>Edit Environment Configuration...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="978"/>
-        <source>Configure...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="1168"/>
-        <source>Edit Configuration</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="1168"/>
-        <source>No valid configuration path determined. Aborting</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="956"/>
-        <source>Show Cache Info...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="959"/>
-        <source>Show Cached Files...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="962"/>
         <source>Remove Cached Files...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="965"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="955"/>
         <source>Purge Cache...</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.ui" line="380"/>
+        <source>Released</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="744"/>
+        <source>&lt;p&gt;Received an error while searching for &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;&lt;p&gt;Error: {1}&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="763"/>
+        <source>Showing first 20 packages found.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="770"/>
+        <source>&lt;p&gt;There were no results for &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>PipPage</name>
--- a/eric6/i18n/eric6_es.ts	Sun Feb 07 17:34:51 2021 +0100
+++ b/eric6/i18n/eric6_es.ts	Mon Feb 08 18:01:02 2021 +0100
@@ -44048,42 +44048,42 @@
 <context>
     <name>MicroPythonDevice</name>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="306"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="337"/>
         <source>Unsupported Device</source>
         <translation>Dispositivo no soportado</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="316"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="347"/>
         <source>REPL is not supported by this device.</source>
         <translation>REPL no soportado por este dispositivo.</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="335"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="366"/>
         <source>Plotter is not supported by this device.</source>
         <translation>Plotter no soportado por este dispositivo.</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="354"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="385"/>
         <source>Running scripts is not supported by this device.</source>
         <translation>La ejecución de scripts no está soportada por este dispositivo.</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="374"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="405"/>
         <source>File Manager is not supported by this device.</source>
         <translation>El Gestor de Archovos no está soportado por este dispositivo.</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="417"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="448"/>
         <source>Select Device Directory</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="417"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="448"/>
         <source>Select the directory for the connected device:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="112"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="143"/>
         <source>Generic Board</source>
         <translation type="unfinished"></translation>
     </message>
@@ -48403,112 +48403,112 @@
 <context>
     <name>Pip</name>
     <message>
-        <location filename="../PipInterface/Pip.py" line="379"/>
+        <location filename="../PipInterface/Pip.py" line="388"/>
         <source>Install Packages</source>
         <translation>Instalar Packages</translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="344"/>
+        <location filename="../PipInterface/Pip.py" line="353"/>
         <source>Upgrade Packages</source>
         <translation>Actualizar Packages</translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="469"/>
+        <location filename="../PipInterface/Pip.py" line="478"/>
         <source>Uninstall Packages</source>
         <translation>Desinstalar Packages</translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="408"/>
+        <location filename="../PipInterface/Pip.py" line="417"/>
         <source>Install Packages from Requirements</source>
         <translation>Instalar Packages a partir de Requisitos</translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="469"/>
+        <location filename="../PipInterface/Pip.py" line="478"/>
         <source>Do you really want to uninstall these packages?</source>
         <translation>¿Realmente desea desinstalar estos packages?</translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="482"/>
+        <location filename="../PipInterface/Pip.py" line="491"/>
         <source>Uninstall Packages from Requirements</source>
         <translation>Desinstalar Packages a partir de Requisitos</translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="238"/>
+        <location filename="../PipInterface/Pip.py" line="247"/>
         <source>Install PIP</source>
         <translation>Instalar PIP</translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="279"/>
+        <location filename="../PipInterface/Pip.py" line="288"/>
         <source>Repair PIP</source>
         <translation>Reparar PIP</translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="95"/>
+        <location filename="../PipInterface/Pip.py" line="104"/>
         <source>python exited with an error ({0}).</source>
         <translation>python ha salido con un error ({0}).</translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="103"/>
+        <location filename="../PipInterface/Pip.py" line="112"/>
         <source>python did not finish within 30 seconds.</source>
         <translation>python no ha terminado en 30 segundos.</translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="106"/>
+        <location filename="../PipInterface/Pip.py" line="115"/>
         <source>python could not be started.</source>
         <translation>No se ha podido iniciar python.</translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="200"/>
+        <location filename="../PipInterface/Pip.py" line="209"/>
         <source>Interpreter for Virtual Environment</source>
         <translation>Intérprete para el Entorno Virtual</translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="200"/>
+        <location filename="../PipInterface/Pip.py" line="209"/>
         <source>No interpreter configured for the selected virtual environment.</source>
         <translation>No se ha configurado ningún intérprete para el entorno virtual seleccionado.</translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="173"/>
+        <location filename="../PipInterface/Pip.py" line="182"/>
         <source>&lt;project&gt;</source>
         <translation>&lt;project&gt;</translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="298"/>
+        <location filename="../PipInterface/Pip.py" line="307"/>
         <source>You are trying to upgrade PyQt packages. This might not work for the current instance of Python ({0}). Do you want to continue?</source>
         <translation>Se está intentando actualizar a nueva versión de packages PyQt. Esto podría no funcionar para la instancia actual de Python ({0}). ¿Desea continuar?</translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="679"/>
+        <location filename="../PipInterface/Pip.py" line="688"/>
         <source>Cache Info</source>
         <translation>Info de Cache</translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="704"/>
+        <location filename="../PipInterface/Pip.py" line="713"/>
         <source>List Cached Files</source>
         <translation>Listar Archivos en Cache</translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="694"/>
+        <location filename="../PipInterface/Pip.py" line="703"/>
         <source>Enter a file pattern (empty for all):</source>
         <translation>Introducir un patrón de archivo (dejar en blanco para todos):</translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="728"/>
+        <location filename="../PipInterface/Pip.py" line="737"/>
         <source>Remove Cached Files</source>
         <translation>Eliminar Archivos en Cache</translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="720"/>
+        <location filename="../PipInterface/Pip.py" line="729"/>
         <source>Enter a file pattern:</source>
         <translation>Introducir un patrón de archivo:</translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="751"/>
+        <location filename="../PipInterface/Pip.py" line="760"/>
         <source>Purge Cache</source>
         <translation>Purgar Cache</translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="744"/>
+        <location filename="../PipInterface/Pip.py" line="753"/>
         <source>Do you really want to purge the pip cache? All files need to be downloaded again.</source>
         <translation>Desear realmente purgar la cache de pip? Todos los archivos necesitarán descargarse de nuevo.</translation>
     </message>
@@ -49012,7 +49012,7 @@
         <translation>Solo Site de Usuario</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.ui" line="412"/>
+        <location filename="../PipInterface/PipPackagesWidget.ui" line="375"/>
         <source>Package</source>
         <translation>Package</translation>
     </message>
@@ -49067,7 +49067,7 @@
         <translation>Pulsar para desinstalar el package seleccionado</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.ui" line="462"/>
+        <location filename="../PipInterface/PipPackagesWidget.ui" line="425"/>
         <source>Press to show details for the selected entry</source>
         <translation>Pulsar para mostrar detalles para la entrada seleccionada</translation>
     </message>
@@ -49077,137 +49077,137 @@
         <translation>Conmutar para mostrar u ocultar la ventana de búsqueda</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="90"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="191"/>
         <source>Name:</source>
         <translation>Nombre:</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.ui" line="322"/>
+        <location filename="../PipInterface/PipPackagesWidget.ui" line="332"/>
         <source>Enter the search term for the package name</source>
         <translation>Introducir el término de búsqueda para el nombre de package</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.ui" line="359"/>
+        <location filename="../PipInterface/PipPackagesWidget.ui" line="335"/>
         <source>Enter search term</source>
         <translation>Introducir término de búsqueda</translation>
     </message>
     <message>
         <location filename="../PipInterface/PipPackagesWidget.ui" line="332"/>
         <source>Select the search term combination operation</source>
-        <translation>Seleccionar la operación de búsqueda de término combinada</translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="94"/>
+        <translation type="obsolete">Seleccionar la operación de búsqueda de término combinada</translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="195"/>
         <source>Summary:</source>
         <translation>Resumen:</translation>
     </message>
     <message>
         <location filename="../PipInterface/PipPackagesWidget.ui" line="356"/>
         <source>Enter the search term for the package summary</source>
-        <translation>Introducir el término de búsqueda para el resumen de package</translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.ui" line="369"/>
+        <translation type="obsolete">Introducir el término de búsqueda para el resumen de package</translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.ui" line="318"/>
         <source>Press to start the search</source>
         <translation>Pulsar para iniciar la búsqueda</translation>
     </message>
     <message>
         <location filename="../PipInterface/PipPackagesWidget.ui" line="417"/>
         <source>Score</source>
-        <translation>Puntuación</translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.ui" line="422"/>
+        <translation type="obsolete">Puntuación</translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.ui" line="385"/>
         <source>Description</source>
         <translation>Descripción</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.ui" line="448"/>
+        <location filename="../PipInterface/PipPackagesWidget.ui" line="411"/>
         <source>Press to install the selected package</source>
         <translation>Pulsar para instalar el package seleccionado</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.ui" line="455"/>
+        <location filename="../PipInterface/PipPackagesWidget.ui" line="418"/>
         <source>Press to install the selected package to the user site</source>
         <translation>Seleccionar para instalar el package seleccionado en el site de usuario</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="66"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="168"/>
         <source>pip Menu</source>
         <translation>Menu pip</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="91"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="192"/>
         <source>Version:</source>
         <translation>Versión:</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="92"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="193"/>
         <source>Location:</source>
         <translation>Ubicación:</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="93"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="194"/>
         <source>Requires:</source>
         <translation>Requiere:</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="95"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="196"/>
         <source>Homepage:</source>
         <translation>Página Home:</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="96"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="197"/>
         <source>Author:</source>
         <translation>Autor:</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="97"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="198"/>
         <source>Author Email:</source>
         <translation>Correo electrónico del Autor:</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="98"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="199"/>
         <source>License:</source>
         <translation>Licencia:</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="99"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="200"/>
         <source>Metadata Version:</source>
         <translation>Versión de Metadatos:</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="100"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="201"/>
         <source>Installer:</source>
         <translation>Instalador:</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="101"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="202"/>
         <source>Classifiers:</source>
         <translation>Clasificadores:</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="102"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="203"/>
         <source>Entry Points:</source>
         <translation>Puntos de Entrada:</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="103"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="204"/>
         <source>Files:</source>
         <translation>Archivos:</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="241"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="344"/>
         <source>Getting installed packages...</source>
         <translation>Obteniendo packages instalados...</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="256"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="359"/>
         <source>Getting outdated packages...</source>
         <translation>Obteniendo packages antiguos...</translation>
     </message>
     <message numerus="yes">
-        <location filename="../PipInterface/PipPackagesWidget.py" line="665"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="761"/>
         <source>%n package(s) found.</source>
         <translation>
             <numerusform>%n package encontrado.</numerusform>
@@ -49215,125 +49215,145 @@
         </translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="913"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="903"/>
         <source>Search PyPI</source>
         <translation>Buscar PyPI</translation>
     </message>
     <message>
         <location filename="../PipInterface/PipPackagesWidget.py" line="701"/>
         <source>&lt;p&gt;The package search did not return anything.&lt;/p&gt;</source>
-        <translation>&lt;p&gt;La búsqueda de packages no ha devuelto nada.&lt;/p&gt;</translation>
+        <translation type="obsolete">&lt;p&gt;La búsqueda de packages no ha devuelto nada.&lt;/p&gt;</translation>
     </message>
     <message>
         <location filename="../PipInterface/PipPackagesWidget.py" line="736"/>
         <source>&lt;p&gt;The package search failed.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
-        <translation>&lt;p&gt;La búsqueda de packages ha fallado.&lt;/p&gt;&lt;p&gt;Razón: {0}&lt;/p&gt;</translation>
+        <translation type="obsolete">&lt;p&gt;La búsqueda de packages ha fallado.&lt;/p&gt;&lt;p&gt;Razón: {0}&lt;/p&gt;</translation>
     </message>
     <message>
         <location filename="../PipInterface/PipPackagesWidget.py" line="741"/>
         <source>Error: {0}</source>
-        <translation>Error: {0}</translation>
+        <translation type="obsolete">Error: {0}</translation>
     </message>
     <message>
         <location filename="../PipInterface/PipPackagesWidget.py" line="875"/>
         <source>Show Package Details</source>
-        <translation>Mostrar Detalles del Package</translation>
+        <translation type="obsolete">Mostrar Detalles del Package</translation>
     </message>
     <message>
         <location filename="../PipInterface/PipPackagesWidget.py" line="875"/>
         <source>Select the package version:</source>
-        <translation>Seleccionar versión del package:</translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="913"/>
+        <translation type="obsolete">Seleccionar versión del package:</translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="903"/>
         <source>&lt;p&gt;No package details info for &lt;b&gt;{0}&lt;/b&gt; available.&lt;/p&gt;</source>
         <translation>&lt;p&gt;No hay info de detalles de package disponible para &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="929"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="919"/>
         <source>Install Pip</source>
         <translation>Instalar Pip</translation>
     </message>
     <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="922"/>
+        <source>Install Pip to User-Site</source>
+        <translation>Instalar Pip en el Sitio de Usuario</translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="925"/>
+        <source>Repair Pip</source>
+        <translation>Reparar Pip</translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="1042"/>
+        <source>Install Packages</source>
+        <translation>Instalar Packages</translation>
+    </message>
+    <message>
         <location filename="../PipInterface/PipPackagesWidget.py" line="932"/>
-        <source>Install Pip to User-Site</source>
-        <translation>Instalar Pip en el Sitio de Usuario</translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="935"/>
-        <source>Repair Pip</source>
-        <translation>Reparar Pip</translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="1052"/>
-        <source>Install Packages</source>
-        <translation>Instalar Packages</translation>
+        <source>Install Local Package</source>
+        <translation>Instalar Package Local</translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="936"/>
+        <source>Install Requirements</source>
+        <translation>Instalar Requisitos</translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="939"/>
+        <source>Uninstall Requirements</source>
+        <translation>Desinstalar Requisitos</translation>
     </message>
     <message>
         <location filename="../PipInterface/PipPackagesWidget.py" line="942"/>
-        <source>Install Local Package</source>
-        <translation>Instalar Package Local</translation>
+        <source>Generate Requirements...</source>
+        <translation>Generar Requisitos...</translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="960"/>
+        <source>Edit User Configuration...</source>
+        <translation>Editar Configuración de Usuario...</translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="963"/>
+        <source>Edit Environment Configuration...</source>
+        <translation>Editar Configuración de Entorno...</translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="968"/>
+        <source>Configure...</source>
+        <translation>Configurar...</translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="1158"/>
+        <source>Edit Configuration</source>
+        <translation>Editar Configuración</translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="1158"/>
+        <source>No valid configuration path determined. Aborting</source>
+        <translation>No hay una ruta válida de configuración determinada. Abortando</translation>
     </message>
     <message>
         <location filename="../PipInterface/PipPackagesWidget.py" line="946"/>
-        <source>Install Requirements</source>
-        <translation>Instalar Requisitos</translation>
+        <source>Show Cache Info...</source>
+        <translation>Mostrar info de Cache...</translation>
     </message>
     <message>
         <location filename="../PipInterface/PipPackagesWidget.py" line="949"/>
-        <source>Uninstall Requirements</source>
-        <translation>Desinstalar Requisitos</translation>
+        <source>Show Cached Files...</source>
+        <translation>Mostrar Archivos en Cache...</translation>
     </message>
     <message>
         <location filename="../PipInterface/PipPackagesWidget.py" line="952"/>
-        <source>Generate Requirements...</source>
-        <translation>Generar Requisitos...</translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="970"/>
-        <source>Edit User Configuration...</source>
-        <translation>Editar Configuración de Usuario...</translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="973"/>
-        <source>Edit Environment Configuration...</source>
-        <translation>Editar Configuración de Entorno...</translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="978"/>
-        <source>Configure...</source>
-        <translation>Configurar...</translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="1168"/>
-        <source>Edit Configuration</source>
-        <translation>Editar Configuración</translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="1168"/>
-        <source>No valid configuration path determined. Aborting</source>
-        <translation>No hay una ruta válida de configuración determinada. Abortando</translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="956"/>
-        <source>Show Cache Info...</source>
-        <translation>Mostrar info de Cache...</translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="959"/>
-        <source>Show Cached Files...</source>
-        <translation>Mostrar Archivos en Cache...</translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="962"/>
         <source>Remove Cached Files...</source>
         <translation>Eliminar Archivos en Cache...</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="965"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="955"/>
         <source>Purge Cache...</source>
         <translation>Purgar Cache...</translation>
     </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.ui" line="380"/>
+        <source>Released</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="744"/>
+        <source>&lt;p&gt;Received an error while searching for &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;&lt;p&gt;Error: {1}&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="763"/>
+        <source>Showing first 20 packages found.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="770"/>
+        <source>&lt;p&gt;There were no results for &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>PipPage</name>
--- a/eric6/i18n/eric6_fr.ts	Sun Feb 07 17:34:51 2021 +0100
+++ b/eric6/i18n/eric6_fr.ts	Mon Feb 08 18:01:02 2021 +0100
@@ -46485,42 +46485,42 @@
 <context>
     <name>MicroPythonDevice</name>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="306"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="337"/>
         <source>Unsupported Device</source>
         <translation>Matériel non supporté</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="316"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="347"/>
         <source>REPL is not supported by this device.</source>
         <translation>REPL n&apos;est pas supporté pour ce matériel.</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="335"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="366"/>
         <source>Plotter is not supported by this device.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="354"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="385"/>
         <source>Running scripts is not supported by this device.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="374"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="405"/>
         <source>File Manager is not supported by this device.</source>
         <translation>Le gestionnaire de fichier n&apos;est pas supporté pour ce matériel.</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="417"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="448"/>
         <source>Select Device Directory</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="417"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="448"/>
         <source>Select the directory for the connected device:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="112"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="143"/>
         <source>Generic Board</source>
         <translation type="unfinished"></translation>
     </message>
@@ -50887,17 +50887,17 @@
 <context>
     <name>Pip</name>
     <message>
-        <location filename="../PipInterface/Pip.py" line="379"/>
+        <location filename="../PipInterface/Pip.py" line="388"/>
         <source>Install Packages</source>
         <translation>Installer des packages</translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="344"/>
+        <location filename="../PipInterface/Pip.py" line="353"/>
         <source>Upgrade Packages</source>
         <translation>Mise à jour des packages</translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="469"/>
+        <location filename="../PipInterface/Pip.py" line="478"/>
         <source>Uninstall Packages</source>
         <translation>Désinstaller les packages</translation>
     </message>
@@ -50912,97 +50912,97 @@
         <translation type="obsolete">Configuration...</translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="238"/>
+        <location filename="../PipInterface/Pip.py" line="247"/>
         <source>Install PIP</source>
         <translation>Installer PIP</translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="279"/>
+        <location filename="../PipInterface/Pip.py" line="288"/>
         <source>Repair PIP</source>
         <translation>Réparer PIP</translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="408"/>
+        <location filename="../PipInterface/Pip.py" line="417"/>
         <source>Install Packages from Requirements</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="469"/>
+        <location filename="../PipInterface/Pip.py" line="478"/>
         <source>Do you really want to uninstall these packages?</source>
         <translation>Voulez-vous vraiment désinstaller ces packages ?</translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="482"/>
+        <location filename="../PipInterface/Pip.py" line="491"/>
         <source>Uninstall Packages from Requirements</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="95"/>
+        <location filename="../PipInterface/Pip.py" line="104"/>
         <source>python exited with an error ({0}).</source>
         <translation>python a quitté avec l&apos;erreur ({0}).</translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="103"/>
+        <location filename="../PipInterface/Pip.py" line="112"/>
         <source>python did not finish within 30 seconds.</source>
         <translation>python n&apos;a pas terminé dans les 30 secondes.</translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="106"/>
+        <location filename="../PipInterface/Pip.py" line="115"/>
         <source>python could not be started.</source>
         <translation>python n&apos;a pas pu être démarré.</translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="200"/>
+        <location filename="../PipInterface/Pip.py" line="209"/>
         <source>Interpreter for Virtual Environment</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="200"/>
+        <location filename="../PipInterface/Pip.py" line="209"/>
         <source>No interpreter configured for the selected virtual environment.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="173"/>
+        <location filename="../PipInterface/Pip.py" line="182"/>
         <source>&lt;project&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="298"/>
+        <location filename="../PipInterface/Pip.py" line="307"/>
         <source>You are trying to upgrade PyQt packages. This might not work for the current instance of Python ({0}). Do you want to continue?</source>
         <translation>Vous êtes sur le point de mettre à jour les packages PyQt. Ceci risque de ne pas fonctionner sur l&apos;instance courante de Python ({0}). Voulez-vous continuer ?</translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="679"/>
+        <location filename="../PipInterface/Pip.py" line="688"/>
         <source>Cache Info</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="704"/>
+        <location filename="../PipInterface/Pip.py" line="713"/>
         <source>List Cached Files</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="694"/>
+        <location filename="../PipInterface/Pip.py" line="703"/>
         <source>Enter a file pattern (empty for all):</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="728"/>
+        <location filename="../PipInterface/Pip.py" line="737"/>
         <source>Remove Cached Files</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="720"/>
+        <location filename="../PipInterface/Pip.py" line="729"/>
         <source>Enter a file pattern:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="751"/>
+        <location filename="../PipInterface/Pip.py" line="760"/>
         <source>Purge Cache</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="744"/>
+        <location filename="../PipInterface/Pip.py" line="753"/>
         <source>Do you really want to purge the pip cache? All files need to be downloaded again.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -51534,7 +51534,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.ui" line="412"/>
+        <location filename="../PipInterface/PipPackagesWidget.ui" line="375"/>
         <source>Package</source>
         <translation>Package</translation>
     </message>
@@ -51589,7 +51589,7 @@
         <translation>Cliquer pour désinstaller le package sélectionné</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.ui" line="462"/>
+        <location filename="../PipInterface/PipPackagesWidget.ui" line="425"/>
         <source>Press to show details for the selected entry</source>
         <translation>Cliquer pour montrer les détails de l&apos;entrée sélectionnée</translation>
     </message>
@@ -51599,137 +51599,122 @@
         <translation>Montrer/cacher la fenêtre de recherche</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="90"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="191"/>
         <source>Name:</source>
         <translation>Nom :</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.ui" line="322"/>
-        <source>Enter the search term for the package name</source>
-        <translation>Entrer le terme  de recherche pour le nom du package</translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.ui" line="359"/>
-        <source>Enter search term</source>
-        <translation>Entrer le terme de recherche</translation>
-    </message>
-    <message>
         <location filename="../PipInterface/PipPackagesWidget.ui" line="332"/>
-        <source>Select the search term combination operation</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="94"/>
+        <source>Enter the search term for the package name</source>
+        <translation>Entrer le terme  de recherche pour le nom du package</translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.ui" line="335"/>
+        <source>Enter search term</source>
+        <translation>Entrer le terme de recherche</translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="195"/>
         <source>Summary:</source>
         <translation>Bilan :</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.ui" line="356"/>
-        <source>Enter the search term for the package summary</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.ui" line="369"/>
+        <location filename="../PipInterface/PipPackagesWidget.ui" line="318"/>
         <source>Press to start the search</source>
         <translation>Cliquer pour démarrer la recherche</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.ui" line="417"/>
-        <source>Score</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.ui" line="422"/>
+        <location filename="../PipInterface/PipPackagesWidget.ui" line="385"/>
         <source>Description</source>
         <translation>Description</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.ui" line="448"/>
+        <location filename="../PipInterface/PipPackagesWidget.ui" line="411"/>
         <source>Press to install the selected package</source>
         <translation>Cliquer pour installer le package sélectionné</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.ui" line="455"/>
+        <location filename="../PipInterface/PipPackagesWidget.ui" line="418"/>
         <source>Press to install the selected package to the user site</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="66"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="168"/>
         <source>pip Menu</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="91"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="192"/>
         <source>Version:</source>
         <translation>Version :</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="92"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="193"/>
         <source>Location:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="93"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="194"/>
         <source>Requires:</source>
         <translation>Nécessite :</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="95"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="196"/>
         <source>Homepage:</source>
         <translation>Page d&apos;accueil :</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="96"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="197"/>
         <source>Author:</source>
         <translation>Auteur :</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="97"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="198"/>
         <source>Author Email:</source>
         <translation>Courreil de l&apos;auteur :</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="98"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="199"/>
         <source>License:</source>
         <translation>Licence :</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="99"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="200"/>
         <source>Metadata Version:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="100"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="201"/>
         <source>Installer:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="101"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="202"/>
         <source>Classifiers:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="102"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="203"/>
         <source>Entry Points:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="103"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="204"/>
         <source>Files:</source>
         <translation>Fichiers :</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="241"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="344"/>
         <source>Getting installed packages...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="256"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="359"/>
         <source>Getting outdated packages...</source>
         <translation type="unfinished"></translation>
     </message>
     <message numerus="yes">
-        <location filename="../PipInterface/PipPackagesWidget.py" line="665"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="761"/>
         <source>%n package(s) found.</source>
         <translation>
             <numerusform>%n package trouvé.</numerusform>
@@ -51737,125 +51722,145 @@
         </translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="913"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="903"/>
         <source>Search PyPI</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../PipInterface/PipPackagesWidget.py" line="701"/>
         <source>&lt;p&gt;The package search did not return anything.&lt;/p&gt;</source>
-        <translation>&lt;p&gt;La recherche de package n&apos;a rien retourné.&lt;/p&gt;</translation>
+        <translation type="obsolete">&lt;p&gt;La recherche de package n&apos;a rien retourné.&lt;/p&gt;</translation>
     </message>
     <message>
         <location filename="../PipInterface/PipPackagesWidget.py" line="736"/>
         <source>&lt;p&gt;The package search failed.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
-        <translation>&lt;p&gt;Échec de la recherche de package.&lt;/p&gt;&lt;p&gt;Raison : {0}&lt;/p&gt;</translation>
+        <translation type="obsolete">&lt;p&gt;Échec de la recherche de package.&lt;/p&gt;&lt;p&gt;Raison : {0}&lt;/p&gt;</translation>
     </message>
     <message>
         <location filename="../PipInterface/PipPackagesWidget.py" line="741"/>
         <source>Error: {0}</source>
-        <translation>Erreur : {0}</translation>
+        <translation type="obsolete">Erreur : {0}</translation>
     </message>
     <message>
         <location filename="../PipInterface/PipPackagesWidget.py" line="875"/>
         <source>Show Package Details</source>
-        <translation>Montrer les détails du package</translation>
+        <translation type="obsolete">Montrer les détails du package</translation>
     </message>
     <message>
         <location filename="../PipInterface/PipPackagesWidget.py" line="875"/>
         <source>Select the package version:</source>
-        <translation>Sélectionner la version du package :</translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="913"/>
+        <translation type="obsolete">Sélectionner la version du package :</translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="903"/>
         <source>&lt;p&gt;No package details info for &lt;b&gt;{0}&lt;/b&gt; available.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="929"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="919"/>
         <source>Install Pip</source>
         <translation>Installer pip</translation>
     </message>
     <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="922"/>
+        <source>Install Pip to User-Site</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="925"/>
+        <source>Repair Pip</source>
+        <translation>Réparer Pip</translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="1042"/>
+        <source>Install Packages</source>
+        <translation>Installer des packages</translation>
+    </message>
+    <message>
         <location filename="../PipInterface/PipPackagesWidget.py" line="932"/>
-        <source>Install Pip to User-Site</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="935"/>
-        <source>Repair Pip</source>
-        <translation>Réparer Pip</translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="1052"/>
-        <source>Install Packages</source>
-        <translation>Installer des packages</translation>
+        <source>Install Local Package</source>
+        <translation>Installer un package local</translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="936"/>
+        <source>Install Requirements</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="939"/>
+        <source>Uninstall Requirements</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../PipInterface/PipPackagesWidget.py" line="942"/>
-        <source>Install Local Package</source>
-        <translation>Installer un package local</translation>
+        <source>Generate Requirements...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="960"/>
+        <source>Edit User Configuration...</source>
+        <translation>Éditer la configuration utilisateur...</translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="963"/>
+        <source>Edit Environment Configuration...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="968"/>
+        <source>Configure...</source>
+        <translation>Configuration...</translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="1158"/>
+        <source>Edit Configuration</source>
+        <translation>Éditer la configuration</translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="1158"/>
+        <source>No valid configuration path determined. Aborting</source>
+        <translation>Pas de chemin de configuration déterminé. Annulation</translation>
     </message>
     <message>
         <location filename="../PipInterface/PipPackagesWidget.py" line="946"/>
-        <source>Install Requirements</source>
+        <source>Show Cache Info...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../PipInterface/PipPackagesWidget.py" line="949"/>
-        <source>Uninstall Requirements</source>
+        <source>Show Cached Files...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../PipInterface/PipPackagesWidget.py" line="952"/>
-        <source>Generate Requirements...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="970"/>
-        <source>Edit User Configuration...</source>
-        <translation>Éditer la configuration utilisateur...</translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="973"/>
-        <source>Edit Environment Configuration...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="978"/>
-        <source>Configure...</source>
-        <translation>Configuration...</translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="1168"/>
-        <source>Edit Configuration</source>
-        <translation>Éditer la configuration</translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="1168"/>
-        <source>No valid configuration path determined. Aborting</source>
-        <translation>Pas de chemin de configuration déterminé. Annulation</translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="956"/>
-        <source>Show Cache Info...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="959"/>
-        <source>Show Cached Files...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="962"/>
         <source>Remove Cached Files...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="965"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="955"/>
         <source>Purge Cache...</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.ui" line="380"/>
+        <source>Released</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="744"/>
+        <source>&lt;p&gt;Received an error while searching for &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;&lt;p&gt;Error: {1}&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="763"/>
+        <source>Showing first 20 packages found.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="770"/>
+        <source>&lt;p&gt;There were no results for &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>PipPage</name>
--- a/eric6/i18n/eric6_it.ts	Sun Feb 07 17:34:51 2021 +0100
+++ b/eric6/i18n/eric6_it.ts	Mon Feb 08 18:01:02 2021 +0100
@@ -48665,42 +48665,42 @@
 <context>
     <name>MicroPythonDevice</name>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="306"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="337"/>
         <source>Unsupported Device</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="316"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="347"/>
         <source>REPL is not supported by this device.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="335"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="366"/>
         <source>Plotter is not supported by this device.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="354"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="385"/>
         <source>Running scripts is not supported by this device.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="374"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="405"/>
         <source>File Manager is not supported by this device.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="417"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="448"/>
         <source>Select Device Directory</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="417"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="448"/>
         <source>Select the directory for the connected device:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="112"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="143"/>
         <source>Generic Board</source>
         <translation type="unfinished"></translation>
     </message>
@@ -53152,17 +53152,17 @@
 <context>
     <name>Pip</name>
     <message>
-        <location filename="../PipInterface/Pip.py" line="379"/>
+        <location filename="../PipInterface/Pip.py" line="388"/>
         <source>Install Packages</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="344"/>
+        <location filename="../PipInterface/Pip.py" line="353"/>
         <source>Upgrade Packages</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="469"/>
+        <location filename="../PipInterface/Pip.py" line="478"/>
         <source>Uninstall Packages</source>
         <translation type="unfinished"></translation>
     </message>
@@ -53177,97 +53177,97 @@
         <translation type="obsolete">Configura...</translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="238"/>
+        <location filename="../PipInterface/Pip.py" line="247"/>
         <source>Install PIP</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="279"/>
+        <location filename="../PipInterface/Pip.py" line="288"/>
         <source>Repair PIP</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="408"/>
+        <location filename="../PipInterface/Pip.py" line="417"/>
         <source>Install Packages from Requirements</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="469"/>
+        <location filename="../PipInterface/Pip.py" line="478"/>
         <source>Do you really want to uninstall these packages?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="482"/>
+        <location filename="../PipInterface/Pip.py" line="491"/>
         <source>Uninstall Packages from Requirements</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="95"/>
+        <location filename="../PipInterface/Pip.py" line="104"/>
         <source>python exited with an error ({0}).</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="103"/>
+        <location filename="../PipInterface/Pip.py" line="112"/>
         <source>python did not finish within 30 seconds.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="106"/>
+        <location filename="../PipInterface/Pip.py" line="115"/>
         <source>python could not be started.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="200"/>
+        <location filename="../PipInterface/Pip.py" line="209"/>
         <source>Interpreter for Virtual Environment</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="200"/>
+        <location filename="../PipInterface/Pip.py" line="209"/>
         <source>No interpreter configured for the selected virtual environment.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="173"/>
+        <location filename="../PipInterface/Pip.py" line="182"/>
         <source>&lt;project&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="298"/>
+        <location filename="../PipInterface/Pip.py" line="307"/>
         <source>You are trying to upgrade PyQt packages. This might not work for the current instance of Python ({0}). Do you want to continue?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="679"/>
+        <location filename="../PipInterface/Pip.py" line="688"/>
         <source>Cache Info</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="704"/>
+        <location filename="../PipInterface/Pip.py" line="713"/>
         <source>List Cached Files</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="694"/>
+        <location filename="../PipInterface/Pip.py" line="703"/>
         <source>Enter a file pattern (empty for all):</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="728"/>
+        <location filename="../PipInterface/Pip.py" line="737"/>
         <source>Remove Cached Files</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="720"/>
+        <location filename="../PipInterface/Pip.py" line="729"/>
         <source>Enter a file pattern:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="751"/>
+        <location filename="../PipInterface/Pip.py" line="760"/>
         <source>Purge Cache</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="744"/>
+        <location filename="../PipInterface/Pip.py" line="753"/>
         <source>Do you really want to purge the pip cache? All files need to be downloaded again.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -53799,7 +53799,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.ui" line="412"/>
+        <location filename="../PipInterface/PipPackagesWidget.ui" line="375"/>
         <source>Package</source>
         <translation type="unfinished"></translation>
     </message>
@@ -53854,7 +53854,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.ui" line="462"/>
+        <location filename="../PipInterface/PipPackagesWidget.ui" line="425"/>
         <source>Press to show details for the selected entry</source>
         <translation type="unfinished"></translation>
     </message>
@@ -53864,137 +53864,122 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="90"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="191"/>
         <source>Name:</source>
         <translation type="unfinished">Nome:</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.ui" line="322"/>
-        <source>Enter the search term for the package name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.ui" line="359"/>
-        <source>Enter search term</source>
-        <translation type="unfinished">Inserisci termini di ricerca</translation>
-    </message>
-    <message>
         <location filename="../PipInterface/PipPackagesWidget.ui" line="332"/>
-        <source>Select the search term combination operation</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="94"/>
+        <source>Enter the search term for the package name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.ui" line="335"/>
+        <source>Enter search term</source>
+        <translation type="unfinished">Inserisci termini di ricerca</translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="195"/>
         <source>Summary:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.ui" line="356"/>
-        <source>Enter the search term for the package summary</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.ui" line="369"/>
+        <location filename="../PipInterface/PipPackagesWidget.ui" line="318"/>
         <source>Press to start the search</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.ui" line="417"/>
-        <source>Score</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.ui" line="422"/>
+        <location filename="../PipInterface/PipPackagesWidget.ui" line="385"/>
         <source>Description</source>
         <translation type="unfinished">Descrizione</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.ui" line="448"/>
+        <location filename="../PipInterface/PipPackagesWidget.ui" line="411"/>
         <source>Press to install the selected package</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.ui" line="455"/>
+        <location filename="../PipInterface/PipPackagesWidget.ui" line="418"/>
         <source>Press to install the selected package to the user site</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="66"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="168"/>
         <source>pip Menu</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="91"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="192"/>
         <source>Version:</source>
         <translation type="unfinished">Versione:</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="92"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="193"/>
         <source>Location:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="93"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="194"/>
         <source>Requires:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="95"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="196"/>
         <source>Homepage:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="96"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="197"/>
         <source>Author:</source>
         <translation type="unfinished">Autore:</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="97"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="198"/>
         <source>Author Email:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="98"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="199"/>
         <source>License:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="99"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="200"/>
         <source>Metadata Version:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="100"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="201"/>
         <source>Installer:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="101"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="202"/>
         <source>Classifiers:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="102"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="203"/>
         <source>Entry Points:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="103"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="204"/>
         <source>Files:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="241"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="344"/>
         <source>Getting installed packages...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="256"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="359"/>
         <source>Getting outdated packages...</source>
         <translation type="unfinished"></translation>
     </message>
     <message numerus="yes">
-        <location filename="../PipInterface/PipPackagesWidget.py" line="665"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="761"/>
         <source>%n package(s) found.</source>
         <translation type="unfinished">
             <numerusform></numerusform>
@@ -54002,125 +53987,120 @@
         </translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="913"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="903"/>
         <source>Search PyPI</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="701"/>
-        <source>&lt;p&gt;The package search did not return anything.&lt;/p&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="736"/>
-        <source>&lt;p&gt;The package search failed.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="741"/>
-        <source>Error: {0}</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="875"/>
-        <source>Show Package Details</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="875"/>
-        <source>Select the package version:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="913"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="903"/>
         <source>&lt;p&gt;No package details info for &lt;b&gt;{0}&lt;/b&gt; available.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="929"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="919"/>
         <source>Install Pip</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="922"/>
+        <source>Install Pip to User-Site</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="925"/>
+        <source>Repair Pip</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="1042"/>
+        <source>Install Packages</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <location filename="../PipInterface/PipPackagesWidget.py" line="932"/>
-        <source>Install Pip to User-Site</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="935"/>
-        <source>Repair Pip</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="1052"/>
-        <source>Install Packages</source>
+        <source>Install Local Package</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="936"/>
+        <source>Install Requirements</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="939"/>
+        <source>Uninstall Requirements</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../PipInterface/PipPackagesWidget.py" line="942"/>
-        <source>Install Local Package</source>
+        <source>Generate Requirements...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="960"/>
+        <source>Edit User Configuration...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="963"/>
+        <source>Edit Environment Configuration...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="968"/>
+        <source>Configure...</source>
+        <translation type="unfinished">Configura...</translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="1158"/>
+        <source>Edit Configuration</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="1158"/>
+        <source>No valid configuration path determined. Aborting</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../PipInterface/PipPackagesWidget.py" line="946"/>
-        <source>Install Requirements</source>
+        <source>Show Cache Info...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../PipInterface/PipPackagesWidget.py" line="949"/>
-        <source>Uninstall Requirements</source>
+        <source>Show Cached Files...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../PipInterface/PipPackagesWidget.py" line="952"/>
-        <source>Generate Requirements...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="970"/>
-        <source>Edit User Configuration...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="973"/>
-        <source>Edit Environment Configuration...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="978"/>
-        <source>Configure...</source>
-        <translation type="unfinished">Configura...</translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="1168"/>
-        <source>Edit Configuration</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="1168"/>
-        <source>No valid configuration path determined. Aborting</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="956"/>
-        <source>Show Cache Info...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="959"/>
-        <source>Show Cached Files...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="962"/>
         <source>Remove Cached Files...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="965"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="955"/>
         <source>Purge Cache...</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.ui" line="380"/>
+        <source>Released</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="744"/>
+        <source>&lt;p&gt;Received an error while searching for &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;&lt;p&gt;Error: {1}&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="763"/>
+        <source>Showing first 20 packages found.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="770"/>
+        <source>&lt;p&gt;There were no results for &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>PipPage</name>
--- a/eric6/i18n/eric6_pt.ts	Sun Feb 07 17:34:51 2021 +0100
+++ b/eric6/i18n/eric6_pt.ts	Mon Feb 08 18:01:02 2021 +0100
@@ -48189,42 +48189,42 @@
 <context>
     <name>MicroPythonDevice</name>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="306"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="337"/>
         <source>Unsupported Device</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="316"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="347"/>
         <source>REPL is not supported by this device.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="335"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="366"/>
         <source>Plotter is not supported by this device.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="354"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="385"/>
         <source>Running scripts is not supported by this device.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="374"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="405"/>
         <source>File Manager is not supported by this device.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="417"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="448"/>
         <source>Select Device Directory</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="417"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="448"/>
         <source>Select the directory for the connected device:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="112"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="143"/>
         <source>Generic Board</source>
         <translation type="unfinished"></translation>
     </message>
@@ -52574,17 +52574,17 @@
 <context>
     <name>Pip</name>
     <message>
-        <location filename="../PipInterface/Pip.py" line="379"/>
+        <location filename="../PipInterface/Pip.py" line="388"/>
         <source>Install Packages</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="344"/>
+        <location filename="../PipInterface/Pip.py" line="353"/>
         <source>Upgrade Packages</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="469"/>
+        <location filename="../PipInterface/Pip.py" line="478"/>
         <source>Uninstall Packages</source>
         <translation type="unfinished"></translation>
     </message>
@@ -52599,97 +52599,97 @@
         <translation type="obsolete">Configurar...</translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="238"/>
+        <location filename="../PipInterface/Pip.py" line="247"/>
         <source>Install PIP</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="279"/>
+        <location filename="../PipInterface/Pip.py" line="288"/>
         <source>Repair PIP</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="408"/>
+        <location filename="../PipInterface/Pip.py" line="417"/>
         <source>Install Packages from Requirements</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="469"/>
+        <location filename="../PipInterface/Pip.py" line="478"/>
         <source>Do you really want to uninstall these packages?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="482"/>
+        <location filename="../PipInterface/Pip.py" line="491"/>
         <source>Uninstall Packages from Requirements</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="95"/>
+        <location filename="../PipInterface/Pip.py" line="104"/>
         <source>python exited with an error ({0}).</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="103"/>
+        <location filename="../PipInterface/Pip.py" line="112"/>
         <source>python did not finish within 30 seconds.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="106"/>
+        <location filename="../PipInterface/Pip.py" line="115"/>
         <source>python could not be started.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="200"/>
+        <location filename="../PipInterface/Pip.py" line="209"/>
         <source>Interpreter for Virtual Environment</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="200"/>
+        <location filename="../PipInterface/Pip.py" line="209"/>
         <source>No interpreter configured for the selected virtual environment.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="173"/>
+        <location filename="../PipInterface/Pip.py" line="182"/>
         <source>&lt;project&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="298"/>
+        <location filename="../PipInterface/Pip.py" line="307"/>
         <source>You are trying to upgrade PyQt packages. This might not work for the current instance of Python ({0}). Do you want to continue?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="679"/>
+        <location filename="../PipInterface/Pip.py" line="688"/>
         <source>Cache Info</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="704"/>
+        <location filename="../PipInterface/Pip.py" line="713"/>
         <source>List Cached Files</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="694"/>
+        <location filename="../PipInterface/Pip.py" line="703"/>
         <source>Enter a file pattern (empty for all):</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="728"/>
+        <location filename="../PipInterface/Pip.py" line="737"/>
         <source>Remove Cached Files</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="720"/>
+        <location filename="../PipInterface/Pip.py" line="729"/>
         <source>Enter a file pattern:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="751"/>
+        <location filename="../PipInterface/Pip.py" line="760"/>
         <source>Purge Cache</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="744"/>
+        <location filename="../PipInterface/Pip.py" line="753"/>
         <source>Do you really want to purge the pip cache? All files need to be downloaded again.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -53231,7 +53231,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.ui" line="412"/>
+        <location filename="../PipInterface/PipPackagesWidget.ui" line="375"/>
         <source>Package</source>
         <translation type="unfinished"></translation>
     </message>
@@ -53286,7 +53286,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.ui" line="462"/>
+        <location filename="../PipInterface/PipPackagesWidget.ui" line="425"/>
         <source>Press to show details for the selected entry</source>
         <translation type="unfinished"></translation>
     </message>
@@ -53296,137 +53296,122 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="90"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="191"/>
         <source>Name:</source>
         <translation type="unfinished">Nome:</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.ui" line="322"/>
-        <source>Enter the search term for the package name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.ui" line="359"/>
-        <source>Enter search term</source>
-        <translation type="unfinished">Introduzir o termo de pesquisa</translation>
-    </message>
-    <message>
         <location filename="../PipInterface/PipPackagesWidget.ui" line="332"/>
-        <source>Select the search term combination operation</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="94"/>
+        <source>Enter the search term for the package name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.ui" line="335"/>
+        <source>Enter search term</source>
+        <translation type="unfinished">Introduzir o termo de pesquisa</translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="195"/>
         <source>Summary:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.ui" line="356"/>
-        <source>Enter the search term for the package summary</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.ui" line="369"/>
+        <location filename="../PipInterface/PipPackagesWidget.ui" line="318"/>
         <source>Press to start the search</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.ui" line="417"/>
-        <source>Score</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.ui" line="422"/>
+        <location filename="../PipInterface/PipPackagesWidget.ui" line="385"/>
         <source>Description</source>
         <translation type="unfinished">Descrição</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.ui" line="448"/>
+        <location filename="../PipInterface/PipPackagesWidget.ui" line="411"/>
         <source>Press to install the selected package</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.ui" line="455"/>
+        <location filename="../PipInterface/PipPackagesWidget.ui" line="418"/>
         <source>Press to install the selected package to the user site</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="66"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="168"/>
         <source>pip Menu</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="91"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="192"/>
         <source>Version:</source>
         <translation type="unfinished">Versão:</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="92"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="193"/>
         <source>Location:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="93"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="194"/>
         <source>Requires:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="95"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="196"/>
         <source>Homepage:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="96"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="197"/>
         <source>Author:</source>
         <translation type="unfinished">Autor:</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="97"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="198"/>
         <source>Author Email:</source>
         <translation type="unfinished">Correio Eletrónico do Autor:</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="98"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="199"/>
         <source>License:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="99"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="200"/>
         <source>Metadata Version:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="100"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="201"/>
         <source>Installer:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="101"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="202"/>
         <source>Classifiers:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="102"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="203"/>
         <source>Entry Points:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="103"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="204"/>
         <source>Files:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="241"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="344"/>
         <source>Getting installed packages...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="256"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="359"/>
         <source>Getting outdated packages...</source>
         <translation type="unfinished"></translation>
     </message>
     <message numerus="yes">
-        <location filename="../PipInterface/PipPackagesWidget.py" line="665"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="761"/>
         <source>%n package(s) found.</source>
         <translation type="unfinished">
             <numerusform></numerusform>
@@ -53434,125 +53419,125 @@
         </translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="913"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="903"/>
         <source>Search PyPI</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="701"/>
-        <source>&lt;p&gt;The package search did not return anything.&lt;/p&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="736"/>
-        <source>&lt;p&gt;The package search failed.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../PipInterface/PipPackagesWidget.py" line="741"/>
         <source>Error: {0}</source>
-        <translation type="unfinished">Erro: {0}</translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="875"/>
-        <source>Show Package Details</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="875"/>
-        <source>Select the package version:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="913"/>
+        <translation type="obsolete">Erro: {0}</translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="903"/>
         <source>&lt;p&gt;No package details info for &lt;b&gt;{0}&lt;/b&gt; available.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="929"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="919"/>
         <source>Install Pip</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="922"/>
+        <source>Install Pip to User-Site</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="925"/>
+        <source>Repair Pip</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="1042"/>
+        <source>Install Packages</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <location filename="../PipInterface/PipPackagesWidget.py" line="932"/>
-        <source>Install Pip to User-Site</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="935"/>
-        <source>Repair Pip</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="1052"/>
-        <source>Install Packages</source>
+        <source>Install Local Package</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="936"/>
+        <source>Install Requirements</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="939"/>
+        <source>Uninstall Requirements</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../PipInterface/PipPackagesWidget.py" line="942"/>
-        <source>Install Local Package</source>
+        <source>Generate Requirements...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="960"/>
+        <source>Edit User Configuration...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="963"/>
+        <source>Edit Environment Configuration...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="968"/>
+        <source>Configure...</source>
+        <translation type="unfinished">Configurar...</translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="1158"/>
+        <source>Edit Configuration</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="1158"/>
+        <source>No valid configuration path determined. Aborting</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../PipInterface/PipPackagesWidget.py" line="946"/>
-        <source>Install Requirements</source>
+        <source>Show Cache Info...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../PipInterface/PipPackagesWidget.py" line="949"/>
-        <source>Uninstall Requirements</source>
+        <source>Show Cached Files...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../PipInterface/PipPackagesWidget.py" line="952"/>
-        <source>Generate Requirements...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="970"/>
-        <source>Edit User Configuration...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="973"/>
-        <source>Edit Environment Configuration...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="978"/>
-        <source>Configure...</source>
-        <translation type="unfinished">Configurar...</translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="1168"/>
-        <source>Edit Configuration</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="1168"/>
-        <source>No valid configuration path determined. Aborting</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="956"/>
-        <source>Show Cache Info...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="959"/>
-        <source>Show Cached Files...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="962"/>
         <source>Remove Cached Files...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="965"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="955"/>
         <source>Purge Cache...</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.ui" line="380"/>
+        <source>Released</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="744"/>
+        <source>&lt;p&gt;Received an error while searching for &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;&lt;p&gt;Error: {1}&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="763"/>
+        <source>Showing first 20 packages found.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="770"/>
+        <source>&lt;p&gt;There were no results for &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>PipPage</name>
--- a/eric6/i18n/eric6_ru.ts	Sun Feb 07 17:34:51 2021 +0100
+++ b/eric6/i18n/eric6_ru.ts	Mon Feb 08 18:01:02 2021 +0100
@@ -44312,42 +44312,42 @@
 <context>
     <name>MicroPythonDevice</name>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="306"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="337"/>
         <source>Unsupported Device</source>
         <translation>Неподдерживаемое устройство</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="316"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="347"/>
         <source>REPL is not supported by this device.</source>
         <translation>REPL не поддерживается этим устройством.</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="335"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="366"/>
         <source>Plotter is not supported by this device.</source>
         <translation>Плоттер не поддерживается этим устройством.</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="354"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="385"/>
         <source>Running scripts is not supported by this device.</source>
         <translation>Выполнение скриптов не поддерживается этим устройством.</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="374"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="405"/>
         <source>File Manager is not supported by this device.</source>
         <translation>Менеджер файлов не поддерживается этим устройством.</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="417"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="448"/>
         <source>Select Device Directory</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="417"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="448"/>
         <source>Select the directory for the connected device:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="112"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="143"/>
         <source>Generic Board</source>
         <translation type="unfinished"></translation>
     </message>
@@ -48759,112 +48759,112 @@
 <context>
     <name>Pip</name>
     <message>
-        <location filename="../PipInterface/Pip.py" line="379"/>
+        <location filename="../PipInterface/Pip.py" line="388"/>
         <source>Install Packages</source>
         <translation>Установка пакетов</translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="344"/>
+        <location filename="../PipInterface/Pip.py" line="353"/>
         <source>Upgrade Packages</source>
         <translation>Обновление пакетов</translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="469"/>
+        <location filename="../PipInterface/Pip.py" line="478"/>
         <source>Uninstall Packages</source>
         <translation>Деинсталяция пакетов</translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="408"/>
+        <location filename="../PipInterface/Pip.py" line="417"/>
         <source>Install Packages from Requirements</source>
         <translation>Установка пакетов, перечисленных в зависимостях</translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="469"/>
+        <location filename="../PipInterface/Pip.py" line="478"/>
         <source>Do you really want to uninstall these packages?</source>
         <translation>Вы действительно хотите деинсталировать эти пакеты?</translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="482"/>
+        <location filename="../PipInterface/Pip.py" line="491"/>
         <source>Uninstall Packages from Requirements</source>
         <translation>Деинсталяция пакетов, перечисленных в зависимостях</translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="238"/>
+        <location filename="../PipInterface/Pip.py" line="247"/>
         <source>Install PIP</source>
         <translation>Установка PIP</translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="279"/>
+        <location filename="../PipInterface/Pip.py" line="288"/>
         <source>Repair PIP</source>
         <translation>Восстановление PIP</translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="95"/>
+        <location filename="../PipInterface/Pip.py" line="104"/>
         <source>python exited with an error ({0}).</source>
         <translation>python завершен с ошибкой ({0}).</translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="103"/>
+        <location filename="../PipInterface/Pip.py" line="112"/>
         <source>python did not finish within 30 seconds.</source>
         <translation>python не завершился в течение 30 секунд.</translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="106"/>
+        <location filename="../PipInterface/Pip.py" line="115"/>
         <source>python could not be started.</source>
         <translation>невозможно запустить python.</translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="200"/>
+        <location filename="../PipInterface/Pip.py" line="209"/>
         <source>Interpreter for Virtual Environment</source>
         <translation>Интерпретатор для виртуального окружения</translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="200"/>
+        <location filename="../PipInterface/Pip.py" line="209"/>
         <source>No interpreter configured for the selected virtual environment.</source>
         <translation>Для выбранного виртуального окружения не настроен интерпретатор.</translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="173"/>
+        <location filename="../PipInterface/Pip.py" line="182"/>
         <source>&lt;project&gt;</source>
         <translation>&lt;project&gt;</translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="298"/>
+        <location filename="../PipInterface/Pip.py" line="307"/>
         <source>You are trying to upgrade PyQt packages. This might not work for the current instance of Python ({0}). Do you want to continue?</source>
         <translation>Вы пытаетесь обновить PyQt пакеты. Это может не работать для текущего экземпляра Python ({0}). Вы хотите продолжить?</translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="679"/>
+        <location filename="../PipInterface/Pip.py" line="688"/>
         <source>Cache Info</source>
         <translation>Информация о кэше</translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="704"/>
+        <location filename="../PipInterface/Pip.py" line="713"/>
         <source>List Cached Files</source>
         <translation>Список кэшированных файлов</translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="694"/>
+        <location filename="../PipInterface/Pip.py" line="703"/>
         <source>Enter a file pattern (empty for all):</source>
         <translation>Задайте шаблон файлов (пустая строка - все файлы):</translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="728"/>
+        <location filename="../PipInterface/Pip.py" line="737"/>
         <source>Remove Cached Files</source>
         <translation>Удалить кэшированные файлы</translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="720"/>
+        <location filename="../PipInterface/Pip.py" line="729"/>
         <source>Enter a file pattern:</source>
         <translation>Задайте шаблон файла:</translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="751"/>
+        <location filename="../PipInterface/Pip.py" line="760"/>
         <source>Purge Cache</source>
         <translation>Очистить кэш</translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="744"/>
+        <location filename="../PipInterface/Pip.py" line="753"/>
         <source>Do you really want to purge the pip cache? All files need to be downloaded again.</source>
         <translation>Вы действительно хотите очистить pip-кэш? Все файлы должны быть загружены снова.</translation>
     </message>
@@ -49368,7 +49368,7 @@
         <translation>Только в user-site</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.ui" line="412"/>
+        <location filename="../PipInterface/PipPackagesWidget.ui" line="375"/>
         <source>Package</source>
         <translation>Пакет</translation>
     </message>
@@ -49423,7 +49423,7 @@
         <translation>Деинсталировать выбранные пакеты</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.ui" line="462"/>
+        <location filename="../PipInterface/PipPackagesWidget.ui" line="425"/>
         <source>Press to show details for the selected entry</source>
         <translation>Показать информацию для выбранной записи</translation>
     </message>
@@ -49433,137 +49433,137 @@
         <translation>Показать / скрыть окно поиска</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="90"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="191"/>
         <source>Name:</source>
         <translation>Имя:</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.ui" line="322"/>
+        <location filename="../PipInterface/PipPackagesWidget.ui" line="332"/>
         <source>Enter the search term for the package name</source>
         <translation>Введите поисковый запрос для имени пакета</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.ui" line="359"/>
+        <location filename="../PipInterface/PipPackagesWidget.ui" line="335"/>
         <source>Enter search term</source>
         <translation>Введите поисковый запрос</translation>
     </message>
     <message>
         <location filename="../PipInterface/PipPackagesWidget.ui" line="332"/>
         <source>Select the search term combination operation</source>
-        <translation>Выберите операцию комбинирования поискового запроса</translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="94"/>
+        <translation type="obsolete">Выберите операцию комбинирования поискового запроса</translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="195"/>
         <source>Summary:</source>
         <translation>Аннотация:</translation>
     </message>
     <message>
         <location filename="../PipInterface/PipPackagesWidget.ui" line="356"/>
         <source>Enter the search term for the package summary</source>
-        <translation>Введите поисковый запрос для аннотации пакета</translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.ui" line="369"/>
+        <translation type="obsolete">Введите поисковый запрос для аннотации пакета</translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.ui" line="318"/>
         <source>Press to start the search</source>
         <translation>Начать поиск</translation>
     </message>
     <message>
         <location filename="../PipInterface/PipPackagesWidget.ui" line="417"/>
         <source>Score</source>
-        <translation>Оценка</translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.ui" line="422"/>
+        <translation type="obsolete">Оценка</translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.ui" line="385"/>
         <source>Description</source>
         <translation>Описание</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.ui" line="448"/>
+        <location filename="../PipInterface/PipPackagesWidget.ui" line="411"/>
         <source>Press to install the selected package</source>
         <translation>Установить выбранный пакет</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.ui" line="455"/>
+        <location filename="../PipInterface/PipPackagesWidget.ui" line="418"/>
         <source>Press to install the selected package to the user site</source>
         <translation>Установить выбранный пакет в user site</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="66"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="168"/>
         <source>pip Menu</source>
         <translation>Меню pip</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="91"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="192"/>
         <source>Version:</source>
         <translation>Версия:</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="92"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="193"/>
         <source>Location:</source>
         <translation>Расположение:</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="93"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="194"/>
         <source>Requires:</source>
         <translation>Зависимости:</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="95"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="196"/>
         <source>Homepage:</source>
         <translation>Домашняя страница:</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="96"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="197"/>
         <source>Author:</source>
         <translation>Автор:</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="97"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="198"/>
         <source>Author Email:</source>
         <translation>Email автора:</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="98"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="199"/>
         <source>License:</source>
         <translation>Лицензия:</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="99"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="200"/>
         <source>Metadata Version:</source>
         <translation>Версия Metadata:</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="100"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="201"/>
         <source>Installer:</source>
         <translation>Установщик:</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="101"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="202"/>
         <source>Classifiers:</source>
         <translation>Классификаторы:</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="102"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="203"/>
         <source>Entry Points:</source>
         <translation>Точки входа:</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="103"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="204"/>
         <source>Files:</source>
         <translation>Файлы:</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="241"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="344"/>
         <source>Getting installed packages...</source>
         <translation>Получение списка установленных пакетов...</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="256"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="359"/>
         <source>Getting outdated packages...</source>
         <translation>Получение списка обновленных пакетов...</translation>
     </message>
     <message numerus="yes">
-        <location filename="../PipInterface/PipPackagesWidget.py" line="665"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="761"/>
         <source>%n package(s) found.</source>
         <translation>
             <numerusform>Найден %n пакет.</numerusform>
@@ -49572,125 +49572,145 @@
         </translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="913"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="903"/>
         <source>Search PyPI</source>
         <translation>Поиск в PyPI</translation>
     </message>
     <message>
         <location filename="../PipInterface/PipPackagesWidget.py" line="701"/>
         <source>&lt;p&gt;The package search did not return anything.&lt;/p&gt;</source>
-        <translation>&lt;p&gt;Поиск пакета не дал никаких результатов.&lt;/p&gt;</translation>
+        <translation type="obsolete">&lt;p&gt;Поиск пакета не дал никаких результатов.&lt;/p&gt;</translation>
     </message>
     <message>
         <location filename="../PipInterface/PipPackagesWidget.py" line="736"/>
         <source>&lt;p&gt;The package search failed.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
-        <translation>&lt;p&gt;Сбой поиска пакетов.&lt;/p&gt;&lt;p&gt;Причина: {0}&lt;/p&gt;</translation>
+        <translation type="obsolete">&lt;p&gt;Сбой поиска пакетов.&lt;/p&gt;&lt;p&gt;Причина: {0}&lt;/p&gt;</translation>
     </message>
     <message>
         <location filename="../PipInterface/PipPackagesWidget.py" line="741"/>
         <source>Error: {0}</source>
-        <translation>Ошибка: {0}</translation>
+        <translation type="obsolete">Ошибка: {0}</translation>
     </message>
     <message>
         <location filename="../PipInterface/PipPackagesWidget.py" line="875"/>
         <source>Show Package Details</source>
-        <translation>Подробная информация о пакете</translation>
+        <translation type="obsolete">Подробная информация о пакете</translation>
     </message>
     <message>
         <location filename="../PipInterface/PipPackagesWidget.py" line="875"/>
         <source>Select the package version:</source>
-        <translation>Выберите версию пакета:</translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="913"/>
+        <translation type="obsolete">Выберите версию пакета:</translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="903"/>
         <source>&lt;p&gt;No package details info for &lt;b&gt;{0}&lt;/b&gt; available.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Недоступна подробная информация о пакете &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="929"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="919"/>
         <source>Install Pip</source>
         <translation>Инсталировать Pip</translation>
     </message>
     <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="922"/>
+        <source>Install Pip to User-Site</source>
+        <translation>Инсталировать Pip в User-Site</translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="925"/>
+        <source>Repair Pip</source>
+        <translation>Восстановить Pip</translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="1042"/>
+        <source>Install Packages</source>
+        <translation>Установить пакеты</translation>
+    </message>
+    <message>
         <location filename="../PipInterface/PipPackagesWidget.py" line="932"/>
-        <source>Install Pip to User-Site</source>
-        <translation>Инсталировать Pip в User-Site</translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="935"/>
-        <source>Repair Pip</source>
-        <translation>Восстановить Pip</translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="1052"/>
-        <source>Install Packages</source>
-        <translation>Установить пакеты</translation>
+        <source>Install Local Package</source>
+        <translation>Установить локальный пакет</translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="936"/>
+        <source>Install Requirements</source>
+        <translation>Установить зависимости</translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="939"/>
+        <source>Uninstall Requirements</source>
+        <translation>Деинсталировать зависимости</translation>
     </message>
     <message>
         <location filename="../PipInterface/PipPackagesWidget.py" line="942"/>
-        <source>Install Local Package</source>
-        <translation>Установить локальный пакет</translation>
+        <source>Generate Requirements...</source>
+        <translation>Генерация зависимостей...</translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="960"/>
+        <source>Edit User Configuration...</source>
+        <translation>Правка конфигурации пользователя...</translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="963"/>
+        <source>Edit Environment Configuration...</source>
+        <translation>Правка конфигурации среды окружения...</translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="968"/>
+        <source>Configure...</source>
+        <translation>Настроить...</translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="1158"/>
+        <source>Edit Configuration</source>
+        <translation>Правка конфигурации</translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="1158"/>
+        <source>No valid configuration path determined. Aborting</source>
+        <translation>Не определен допустимый путь конфигурации. Прерывание</translation>
     </message>
     <message>
         <location filename="../PipInterface/PipPackagesWidget.py" line="946"/>
-        <source>Install Requirements</source>
-        <translation>Установить зависимости</translation>
+        <source>Show Cache Info...</source>
+        <translation>Показать информацию о кэше...</translation>
     </message>
     <message>
         <location filename="../PipInterface/PipPackagesWidget.py" line="949"/>
-        <source>Uninstall Requirements</source>
-        <translation>Деинсталировать зависимости</translation>
+        <source>Show Cached Files...</source>
+        <translation>Показать кэшированные файлы...</translation>
     </message>
     <message>
         <location filename="../PipInterface/PipPackagesWidget.py" line="952"/>
-        <source>Generate Requirements...</source>
-        <translation>Генерация зависимостей...</translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="970"/>
-        <source>Edit User Configuration...</source>
-        <translation>Правка конфигурации пользователя...</translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="973"/>
-        <source>Edit Environment Configuration...</source>
-        <translation>Правка конфигурации среды окружения...</translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="978"/>
-        <source>Configure...</source>
-        <translation>Настроить...</translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="1168"/>
-        <source>Edit Configuration</source>
-        <translation>Правка конфигурации</translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="1168"/>
-        <source>No valid configuration path determined. Aborting</source>
-        <translation>Не определен допустимый путь конфигурации. Прерывание</translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="956"/>
-        <source>Show Cache Info...</source>
-        <translation>Показать информацию о кэше...</translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="959"/>
-        <source>Show Cached Files...</source>
-        <translation>Показать кэшированные файлы...</translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="962"/>
         <source>Remove Cached Files...</source>
         <translation>Удалить кэшированные файлы...</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="965"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="955"/>
         <source>Purge Cache...</source>
         <translation>Очистить кэш...</translation>
     </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.ui" line="380"/>
+        <source>Released</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="744"/>
+        <source>&lt;p&gt;Received an error while searching for &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;&lt;p&gt;Error: {1}&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="763"/>
+        <source>Showing first 20 packages found.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="770"/>
+        <source>&lt;p&gt;There were no results for &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>PipPage</name>
--- a/eric6/i18n/eric6_tr.ts	Sun Feb 07 17:34:51 2021 +0100
+++ b/eric6/i18n/eric6_tr.ts	Mon Feb 08 18:01:02 2021 +0100
@@ -47276,42 +47276,42 @@
 <context>
     <name>MicroPythonDevice</name>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="306"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="337"/>
         <source>Unsupported Device</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="316"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="347"/>
         <source>REPL is not supported by this device.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="335"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="366"/>
         <source>Plotter is not supported by this device.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="354"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="385"/>
         <source>Running scripts is not supported by this device.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="374"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="405"/>
         <source>File Manager is not supported by this device.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="417"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="448"/>
         <source>Select Device Directory</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="417"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="448"/>
         <source>Select the directory for the connected device:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="112"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="143"/>
         <source>Generic Board</source>
         <translation type="unfinished"></translation>
     </message>
@@ -51632,17 +51632,17 @@
 <context>
     <name>Pip</name>
     <message>
-        <location filename="../PipInterface/Pip.py" line="379"/>
+        <location filename="../PipInterface/Pip.py" line="388"/>
         <source>Install Packages</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="344"/>
+        <location filename="../PipInterface/Pip.py" line="353"/>
         <source>Upgrade Packages</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="469"/>
+        <location filename="../PipInterface/Pip.py" line="478"/>
         <source>Uninstall Packages</source>
         <translation type="unfinished"></translation>
     </message>
@@ -51657,97 +51657,97 @@
         <translation type="obsolete">Ayarlanıyor...</translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="238"/>
+        <location filename="../PipInterface/Pip.py" line="247"/>
         <source>Install PIP</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="279"/>
+        <location filename="../PipInterface/Pip.py" line="288"/>
         <source>Repair PIP</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="408"/>
+        <location filename="../PipInterface/Pip.py" line="417"/>
         <source>Install Packages from Requirements</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="469"/>
+        <location filename="../PipInterface/Pip.py" line="478"/>
         <source>Do you really want to uninstall these packages?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="482"/>
+        <location filename="../PipInterface/Pip.py" line="491"/>
         <source>Uninstall Packages from Requirements</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="95"/>
+        <location filename="../PipInterface/Pip.py" line="104"/>
         <source>python exited with an error ({0}).</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="103"/>
+        <location filename="../PipInterface/Pip.py" line="112"/>
         <source>python did not finish within 30 seconds.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="106"/>
+        <location filename="../PipInterface/Pip.py" line="115"/>
         <source>python could not be started.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="200"/>
+        <location filename="../PipInterface/Pip.py" line="209"/>
         <source>Interpreter for Virtual Environment</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="200"/>
+        <location filename="../PipInterface/Pip.py" line="209"/>
         <source>No interpreter configured for the selected virtual environment.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="173"/>
+        <location filename="../PipInterface/Pip.py" line="182"/>
         <source>&lt;project&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="298"/>
+        <location filename="../PipInterface/Pip.py" line="307"/>
         <source>You are trying to upgrade PyQt packages. This might not work for the current instance of Python ({0}). Do you want to continue?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="679"/>
+        <location filename="../PipInterface/Pip.py" line="688"/>
         <source>Cache Info</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="704"/>
+        <location filename="../PipInterface/Pip.py" line="713"/>
         <source>List Cached Files</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="694"/>
+        <location filename="../PipInterface/Pip.py" line="703"/>
         <source>Enter a file pattern (empty for all):</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="728"/>
+        <location filename="../PipInterface/Pip.py" line="737"/>
         <source>Remove Cached Files</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="720"/>
+        <location filename="../PipInterface/Pip.py" line="729"/>
         <source>Enter a file pattern:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="751"/>
+        <location filename="../PipInterface/Pip.py" line="760"/>
         <source>Purge Cache</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="744"/>
+        <location filename="../PipInterface/Pip.py" line="753"/>
         <source>Do you really want to purge the pip cache? All files need to be downloaded again.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -52279,7 +52279,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.ui" line="412"/>
+        <location filename="../PipInterface/PipPackagesWidget.ui" line="375"/>
         <source>Package</source>
         <translation type="unfinished"></translation>
     </message>
@@ -52334,7 +52334,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.ui" line="462"/>
+        <location filename="../PipInterface/PipPackagesWidget.ui" line="425"/>
         <source>Press to show details for the selected entry</source>
         <translation type="unfinished"></translation>
     </message>
@@ -52344,137 +52344,122 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="90"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="191"/>
         <source>Name:</source>
         <translation type="unfinished">Adı:</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.ui" line="322"/>
-        <source>Enter the search term for the package name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.ui" line="359"/>
-        <source>Enter search term</source>
-        <translation type="unfinished">Arama kriterlerini giriniz</translation>
-    </message>
-    <message>
         <location filename="../PipInterface/PipPackagesWidget.ui" line="332"/>
-        <source>Select the search term combination operation</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="94"/>
+        <source>Enter the search term for the package name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.ui" line="335"/>
+        <source>Enter search term</source>
+        <translation type="unfinished">Arama kriterlerini giriniz</translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="195"/>
         <source>Summary:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.ui" line="356"/>
-        <source>Enter the search term for the package summary</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.ui" line="369"/>
+        <location filename="../PipInterface/PipPackagesWidget.ui" line="318"/>
         <source>Press to start the search</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.ui" line="417"/>
-        <source>Score</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.ui" line="422"/>
+        <location filename="../PipInterface/PipPackagesWidget.ui" line="385"/>
         <source>Description</source>
         <translation type="unfinished">Açıklama</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.ui" line="448"/>
+        <location filename="../PipInterface/PipPackagesWidget.ui" line="411"/>
         <source>Press to install the selected package</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.ui" line="455"/>
+        <location filename="../PipInterface/PipPackagesWidget.ui" line="418"/>
         <source>Press to install the selected package to the user site</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="66"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="168"/>
         <source>pip Menu</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="91"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="192"/>
         <source>Version:</source>
         <translation type="unfinished">Sürüm:</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="92"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="193"/>
         <source>Location:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="93"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="194"/>
         <source>Requires:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="95"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="196"/>
         <source>Homepage:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="96"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="197"/>
         <source>Author:</source>
         <translation type="unfinished">Yazar:</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="97"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="198"/>
         <source>Author Email:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="98"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="199"/>
         <source>License:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="99"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="200"/>
         <source>Metadata Version:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="100"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="201"/>
         <source>Installer:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="101"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="202"/>
         <source>Classifiers:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="102"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="203"/>
         <source>Entry Points:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="103"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="204"/>
         <source>Files:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="241"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="344"/>
         <source>Getting installed packages...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="256"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="359"/>
         <source>Getting outdated packages...</source>
         <translation type="unfinished"></translation>
     </message>
     <message numerus="yes">
-        <location filename="../PipInterface/PipPackagesWidget.py" line="665"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="761"/>
         <source>%n package(s) found.</source>
         <translation type="unfinished">
             <numerusform></numerusform>
@@ -52482,125 +52467,125 @@
         </translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="913"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="903"/>
         <source>Search PyPI</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="701"/>
-        <source>&lt;p&gt;The package search did not return anything.&lt;/p&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="736"/>
-        <source>&lt;p&gt;The package search failed.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../PipInterface/PipPackagesWidget.py" line="741"/>
         <source>Error: {0}</source>
-        <translation type="unfinished">Hata: {0}</translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="875"/>
-        <source>Show Package Details</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="875"/>
-        <source>Select the package version:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="913"/>
+        <translation type="obsolete">Hata: {0}</translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="903"/>
         <source>&lt;p&gt;No package details info for &lt;b&gt;{0}&lt;/b&gt; available.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="929"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="919"/>
         <source>Install Pip</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="922"/>
+        <source>Install Pip to User-Site</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="925"/>
+        <source>Repair Pip</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="1042"/>
+        <source>Install Packages</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <location filename="../PipInterface/PipPackagesWidget.py" line="932"/>
-        <source>Install Pip to User-Site</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="935"/>
-        <source>Repair Pip</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="1052"/>
-        <source>Install Packages</source>
+        <source>Install Local Package</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="936"/>
+        <source>Install Requirements</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="939"/>
+        <source>Uninstall Requirements</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../PipInterface/PipPackagesWidget.py" line="942"/>
-        <source>Install Local Package</source>
+        <source>Generate Requirements...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="960"/>
+        <source>Edit User Configuration...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="963"/>
+        <source>Edit Environment Configuration...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="968"/>
+        <source>Configure...</source>
+        <translation type="unfinished">Ayarlanıyor...</translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="1158"/>
+        <source>Edit Configuration</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="1158"/>
+        <source>No valid configuration path determined. Aborting</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../PipInterface/PipPackagesWidget.py" line="946"/>
-        <source>Install Requirements</source>
+        <source>Show Cache Info...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../PipInterface/PipPackagesWidget.py" line="949"/>
-        <source>Uninstall Requirements</source>
+        <source>Show Cached Files...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../PipInterface/PipPackagesWidget.py" line="952"/>
-        <source>Generate Requirements...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="970"/>
-        <source>Edit User Configuration...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="973"/>
-        <source>Edit Environment Configuration...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="978"/>
-        <source>Configure...</source>
-        <translation type="unfinished">Ayarlanıyor...</translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="1168"/>
-        <source>Edit Configuration</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="1168"/>
-        <source>No valid configuration path determined. Aborting</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="956"/>
-        <source>Show Cache Info...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="959"/>
-        <source>Show Cached Files...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="962"/>
         <source>Remove Cached Files...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="965"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="955"/>
         <source>Purge Cache...</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.ui" line="380"/>
+        <source>Released</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="744"/>
+        <source>&lt;p&gt;Received an error while searching for &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;&lt;p&gt;Error: {1}&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="763"/>
+        <source>Showing first 20 packages found.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="770"/>
+        <source>&lt;p&gt;There were no results for &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>PipPage</name>
--- a/eric6/i18n/eric6_zh_CN.ts	Sun Feb 07 17:34:51 2021 +0100
+++ b/eric6/i18n/eric6_zh_CN.ts	Mon Feb 08 18:01:02 2021 +0100
@@ -47873,42 +47873,42 @@
 <context>
     <name>MicroPythonDevice</name>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="306"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="337"/>
         <source>Unsupported Device</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="316"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="347"/>
         <source>REPL is not supported by this device.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="335"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="366"/>
         <source>Plotter is not supported by this device.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="354"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="385"/>
         <source>Running scripts is not supported by this device.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="374"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="405"/>
         <source>File Manager is not supported by this device.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="417"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="448"/>
         <source>Select Device Directory</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="417"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="448"/>
         <source>Select the directory for the connected device:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="112"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="143"/>
         <source>Generic Board</source>
         <translation type="unfinished"></translation>
     </message>
@@ -52344,17 +52344,17 @@
 <context>
     <name>Pip</name>
     <message>
-        <location filename="../PipInterface/Pip.py" line="379"/>
+        <location filename="../PipInterface/Pip.py" line="388"/>
         <source>Install Packages</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="344"/>
+        <location filename="../PipInterface/Pip.py" line="353"/>
         <source>Upgrade Packages</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="469"/>
+        <location filename="../PipInterface/Pip.py" line="478"/>
         <source>Uninstall Packages</source>
         <translation type="unfinished">卸载包</translation>
     </message>
@@ -52369,97 +52369,97 @@
         <translation type="obsolete">配置…</translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="238"/>
+        <location filename="../PipInterface/Pip.py" line="247"/>
         <source>Install PIP</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="279"/>
+        <location filename="../PipInterface/Pip.py" line="288"/>
         <source>Repair PIP</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="408"/>
+        <location filename="../PipInterface/Pip.py" line="417"/>
         <source>Install Packages from Requirements</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="469"/>
+        <location filename="../PipInterface/Pip.py" line="478"/>
         <source>Do you really want to uninstall these packages?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="482"/>
+        <location filename="../PipInterface/Pip.py" line="491"/>
         <source>Uninstall Packages from Requirements</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="95"/>
+        <location filename="../PipInterface/Pip.py" line="104"/>
         <source>python exited with an error ({0}).</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="103"/>
+        <location filename="../PipInterface/Pip.py" line="112"/>
         <source>python did not finish within 30 seconds.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="106"/>
+        <location filename="../PipInterface/Pip.py" line="115"/>
         <source>python could not be started.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="200"/>
+        <location filename="../PipInterface/Pip.py" line="209"/>
         <source>Interpreter for Virtual Environment</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="200"/>
+        <location filename="../PipInterface/Pip.py" line="209"/>
         <source>No interpreter configured for the selected virtual environment.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="173"/>
+        <location filename="../PipInterface/Pip.py" line="182"/>
         <source>&lt;project&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="298"/>
+        <location filename="../PipInterface/Pip.py" line="307"/>
         <source>You are trying to upgrade PyQt packages. This might not work for the current instance of Python ({0}). Do you want to continue?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="679"/>
+        <location filename="../PipInterface/Pip.py" line="688"/>
         <source>Cache Info</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="704"/>
+        <location filename="../PipInterface/Pip.py" line="713"/>
         <source>List Cached Files</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="694"/>
+        <location filename="../PipInterface/Pip.py" line="703"/>
         <source>Enter a file pattern (empty for all):</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="728"/>
+        <location filename="../PipInterface/Pip.py" line="737"/>
         <source>Remove Cached Files</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="720"/>
+        <location filename="../PipInterface/Pip.py" line="729"/>
         <source>Enter a file pattern:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="751"/>
+        <location filename="../PipInterface/Pip.py" line="760"/>
         <source>Purge Cache</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/Pip.py" line="744"/>
+        <location filename="../PipInterface/Pip.py" line="753"/>
         <source>Do you really want to purge the pip cache? All files need to be downloaded again.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -52996,7 +52996,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.ui" line="412"/>
+        <location filename="../PipInterface/PipPackagesWidget.ui" line="375"/>
         <source>Package</source>
         <translation type="unfinished"></translation>
     </message>
@@ -53051,7 +53051,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.ui" line="462"/>
+        <location filename="../PipInterface/PipPackagesWidget.ui" line="425"/>
         <source>Press to show details for the selected entry</source>
         <translation type="unfinished"></translation>
     </message>
@@ -53061,262 +53061,247 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="90"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="191"/>
         <source>Name:</source>
         <translation type="unfinished">名称:</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.ui" line="322"/>
-        <source>Enter the search term for the package name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.ui" line="359"/>
-        <source>Enter search term</source>
-        <translation type="unfinished">输入搜索词</translation>
-    </message>
-    <message>
         <location filename="../PipInterface/PipPackagesWidget.ui" line="332"/>
-        <source>Select the search term combination operation</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="94"/>
+        <source>Enter the search term for the package name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.ui" line="335"/>
+        <source>Enter search term</source>
+        <translation type="unfinished">输入搜索词</translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="195"/>
         <source>Summary:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.ui" line="356"/>
-        <source>Enter the search term for the package summary</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.ui" line="369"/>
+        <location filename="../PipInterface/PipPackagesWidget.ui" line="318"/>
         <source>Press to start the search</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.ui" line="417"/>
-        <source>Score</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.ui" line="422"/>
+        <location filename="../PipInterface/PipPackagesWidget.ui" line="385"/>
         <source>Description</source>
         <translation type="unfinished">描述</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.ui" line="448"/>
+        <location filename="../PipInterface/PipPackagesWidget.ui" line="411"/>
         <source>Press to install the selected package</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.ui" line="455"/>
+        <location filename="../PipInterface/PipPackagesWidget.ui" line="418"/>
         <source>Press to install the selected package to the user site</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="66"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="168"/>
         <source>pip Menu</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="91"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="192"/>
         <source>Version:</source>
         <translation type="unfinished">版本:</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="92"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="193"/>
         <source>Location:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="93"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="194"/>
         <source>Requires:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="95"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="196"/>
         <source>Homepage:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="96"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="197"/>
         <source>Author:</source>
         <translation type="unfinished">作者:</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="97"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="198"/>
         <source>Author Email:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="98"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="199"/>
         <source>License:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="99"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="200"/>
         <source>Metadata Version:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="100"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="201"/>
         <source>Installer:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="101"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="202"/>
         <source>Classifiers:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="102"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="203"/>
         <source>Entry Points:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="103"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="204"/>
         <source>Files:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="241"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="344"/>
         <source>Getting installed packages...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="256"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="359"/>
         <source>Getting outdated packages...</source>
         <translation type="unfinished"></translation>
     </message>
     <message numerus="yes">
-        <location filename="../PipInterface/PipPackagesWidget.py" line="665"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="761"/>
         <source>%n package(s) found.</source>
         <translation type="unfinished">
             <numerusform></numerusform>
         </translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="913"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="903"/>
         <source>Search PyPI</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="701"/>
-        <source>&lt;p&gt;The package search did not return anything.&lt;/p&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="736"/>
-        <source>&lt;p&gt;The package search failed.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../PipInterface/PipPackagesWidget.py" line="741"/>
         <source>Error: {0}</source>
-        <translation type="unfinished">错误:{0}</translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="875"/>
-        <source>Show Package Details</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="875"/>
-        <source>Select the package version:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="913"/>
+        <translation type="obsolete">错误:{0}</translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="903"/>
         <source>&lt;p&gt;No package details info for &lt;b&gt;{0}&lt;/b&gt; available.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="929"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="919"/>
         <source>Install Pip</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="922"/>
+        <source>Install Pip to User-Site</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="925"/>
+        <source>Repair Pip</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="1042"/>
+        <source>Install Packages</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <location filename="../PipInterface/PipPackagesWidget.py" line="932"/>
-        <source>Install Pip to User-Site</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="935"/>
-        <source>Repair Pip</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="1052"/>
-        <source>Install Packages</source>
+        <source>Install Local Package</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="936"/>
+        <source>Install Requirements</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="939"/>
+        <source>Uninstall Requirements</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../PipInterface/PipPackagesWidget.py" line="942"/>
-        <source>Install Local Package</source>
+        <source>Generate Requirements...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="960"/>
+        <source>Edit User Configuration...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="963"/>
+        <source>Edit Environment Configuration...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="968"/>
+        <source>Configure...</source>
+        <translation type="unfinished">配置…</translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="1158"/>
+        <source>Edit Configuration</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="1158"/>
+        <source>No valid configuration path determined. Aborting</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../PipInterface/PipPackagesWidget.py" line="946"/>
-        <source>Install Requirements</source>
+        <source>Show Cache Info...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../PipInterface/PipPackagesWidget.py" line="949"/>
-        <source>Uninstall Requirements</source>
+        <source>Show Cached Files...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../PipInterface/PipPackagesWidget.py" line="952"/>
-        <source>Generate Requirements...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="970"/>
-        <source>Edit User Configuration...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="973"/>
-        <source>Edit Environment Configuration...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="978"/>
-        <source>Configure...</source>
-        <translation type="unfinished">配置…</translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="1168"/>
-        <source>Edit Configuration</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="1168"/>
-        <source>No valid configuration path determined. Aborting</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="956"/>
-        <source>Show Cache Info...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="959"/>
-        <source>Show Cached Files...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="962"/>
         <source>Remove Cached Files...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="965"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="955"/>
         <source>Purge Cache...</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.ui" line="380"/>
+        <source>Released</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="744"/>
+        <source>&lt;p&gt;Received an error while searching for &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;&lt;p&gt;Error: {1}&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="763"/>
+        <source>Showing first 20 packages found.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="770"/>
+        <source>&lt;p&gt;There were no results for &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>PipPage</name>

eric ide

mercurial