50 Commits

Author SHA1 Message Date
Nikita Ashihmin
64413d87b1 PY-81498 PyPackges: PIP package is doubled (in case of creation Interpreter based on system with "Inherit Packages")
GitOrigin-RevId: 9a1a52a5d375aa2e111cd573df24ac1144e03c4b
2025-06-09 13:06:39 +00:00
Nikita Ashihmin
2e01a59e11 PY-70287 Packages: Add outdated packages for each PackageManager, improve the speed of showing outdated packages in 10x
GitOrigin-RevId: 9e1944aef6a8cdef7d1c3912a256cfc7a679dd3f
2025-05-14 21:13:59 +00:00
lada.gagina
3f37786ec0 [python] Check setuptools presence only for python < 3.10 (PY-48909)
As importlib.metadata exists in newer versions

GitOrigin-RevId: e9a58aefa0ec155ec13da8d2039c5bc6af23a657
2023-11-22 21:19:22 +00:00
lada.gagina
208da85244 [python] Handle absence of package metadata more gracefully (FL-22448)
importlib.metadata reads package details from respective METADATA files instead of dist-info folder name, thus resulting in exception if this file gets corrupted

GitOrigin-RevId: 306f2fdec202fe97b1073380a8c1267a11532994
2023-11-01 01:09:43 +00:00
lada.gagina
96e8fb5dbc [python] Use importlib.metadata instead of the deprecated pkg_resources to introspect installed packages (PY-61694)
Also update bundled virtualenv 20.16.7 -> 20.24.5

GitOrigin-RevId: 121669933ae55a54ac8cc49fe9f5e57080bbd2a6
2023-09-20 09:32:51 +00:00
Lada Gagina
a618daac6a PY-45712 Get rid of --build-dir option usage
IDEA-CR-69344

GitOrigin-RevId: 2af2a231fc35013d6cafbc18c873ac39c5d83605
2020-11-30 20:09:03 +00:00
Lada Gagina
7d21be33a2 IDEA-CR-59475: PY-40759 PY-25048 Bundle virtualenv, pip and setuptools as wheels
GitOrigin-RevId: a2d68032ee3798c7949db21eadce28f82baa8bd1
2020-03-12 21:46:09 +00:00
Lada Gagina
b195621d57 IDEA-CR-58603: PY-30043 Update the way pip and setuptools are installed at virtualenv creation
GitOrigin-RevId: faa2d523a3e838bbb0db5c90d8a4f7867745e046
2020-02-24 17:05:50 +00:00
Mikhail Golubev
ca3e96dbee PY-38479 Rely on "venv" defaults regarding symlinks when creating virtualenvs
Because we used to call venv.create() function directly in packaging_tool.py when
creating environments we ended up using function's own default unconditionally
creating copies of executables on all platforms, including those where venv itself
creates symlinks (Linux, MacOS). Turned out, it leads to issues with locating
dynamic libraries when one attempts to create a virtualenv with MacOS 10.15 system
Python 3 interpreter. Now we call venv module directly as we already do with "pip"
relying on its default behavior and patching the only command-line flag that we
actually need -- "--without-pip".

GitOrigin-RevId: d65aaa325817933de7121225038a5cf84fa2c77a
2019-12-05 12:38:14 +00:00
Mikhail Golubev
d77d0ac5c4 PY-29471 Remove propagating of exit code in packaging_tool.py altogether
since the only place where it was actually used is launching pip, and
the latter terminates the process with sys.exit() itself now thanks to
runpy.run_module().
2018-04-23 16:44:03 +03:00
Mikhail Golubev
d280c276f9 PY-29471 Properly delete temp directory created by means of tempdir module
Previously in case of error pip run with runpy.run_module() terminated
the execution of the script abruptly with SystemExit and this cleanup
wasn't performed.

Normally it didn't happen though, since temp directory was created on
Java side in PyPackageManagerImpl.install() that was responsible for
its removal.
2018-04-21 21:13:16 +03:00
Mikhail Golubev
7e9a2b871f PY-29471 Don't propagate not existing exit code from runpy.run_module()
packaging_tool.py is terminated with the right exit code from pip
anyway with this approach because pip.__main__ calls sys.exit() itself.
2018-04-21 21:13:16 +03:00
Mikhail Golubev
ea5623424b PY-29471 Use runpy module to launch pip instead of pip.main 2018-04-16 20:42:27 +03:00
Mikhail Golubev
1b469a75fb PY-29395 Remove accidentally left command clause from packaging_tool.py 2018-04-09 18:30:21 +03:00
Mikhail Golubev
ec95d05c76 PY-29395 Remove unused functions from packaging_tool.py
Some of which still use no longer public API of pip
2018-04-06 12:58:58 +03:00
Mikhail Golubev
a7ec58330c PY-29395 Use pip._internal.main instead of pip.main in pip 10.0
It's obviously only a workaround, we should find a better way
not to use internal modules of the package altogether.
2018-04-06 12:58:58 +03:00
Mikhail Golubev
df99eefd48 PY-24682 Explicitly remove helpers directory from the sys.path in packaging_tool.py
As a workaround for the pip's issue #4216 and setuptools' #885.
2017-07-12 17:05:56 +03:00
Mikhail Golubev
f863a2edbd Add explanation why we don't bootstrap pip in virtual environments by standard means 2016-08-19 16:52:43 +03:00
Semyon Proshev
c55dd274ea PY-18851 Fixed: RequirementParseError: Invalid requirement, parse error at ... for packages with broken requiremnts
Some setuptools versions throws RequirementParseError while getting package dependencies
2016-04-18 14:03:13 +03:00
Ekaterina Tuzova
538356df0a PY-6801 Remove pypi repository
Remove repository from UI
2016-01-27 12:14:44 +03:00
Ekaterina Tuzova
d1c6180d77 removed deprecated call to exc_traceback 2015-11-24 15:32:14 +03:00
Andrey Vlasovskikh
82dc5b88c3 Restored "Install packaging tools" fix when there is no 'setuptools' installed 2014-09-29 16:41:30 +04:00
Andrey Vlasovskikh
03451a3c05 Updated pip and setuptools, added legacy versions for Python 2.4-2.5 (PY-13244) 2014-09-17 15:44:18 +04:00
Andrey Vlasovskikh
caf8358f45 Removed unused PyPackageManager.findPackage() 2014-09-08 18:51:54 +04:00
Ekaterina Tuzova
961b03c102 install template language bindings for new projects 2014-06-23 11:10:39 +04:00
Ekaterina Tuzova
293902759e fixed PY-11673 Error on project creation 2013-12-26 20:15:41 +04:00
Andrey Vlasovskikh
a1e5aa1a74 Updated Python package management tools (PY-9700, PY-8681) 2013-09-13 21:04:01 +04:00
Dmitry Trofimov
4aeff437f4 Show full exception traceback if pip import failes but pip exists (PY-7782). 2012-10-10 19:11:06 +02:00
Dmitry Trofimov
d3eb44488b Better place for import os 2012-10-10 18:31:08 +02:00
Andrey Vlasovskikh
5ab77e754c Create Python 3.3 virtual environments using the standard 'pyvenv' tool (PY-6701) 2012-08-27 17:42:41 +04:00
Andrey Vlasovskikh
a7f196900c Get pip and distribute errors from packaging_tool.py as separate return codes (PY-6493) 2012-05-05 19:42:20 +04:00
Ekaterina Tuzova
0bc9e0d409 fixed PY-6285 Install pip fails for python 2.4: TypeError: an integer is required 2012-05-03 15:19:19 +04:00
Ekaterina Tuzova
e586dddea5 fixed PY-6286 Invalid output format for virtualenvs on py2.4 2012-05-03 15:11:49 +04:00
Dmitry Trofimov
7f66090328 Fixed --build-dir for remote interpreter 2012-04-20 15:50:26 +02:00
Ekaterina Tuzova
1947c31c69 fixed PY-6238 Missing create virtualenv link for py2.4: cut off Traceback 2012-04-10 19:08:27 +04:00
Ekaterina Tuzova
a767277761 fixed PY-6259 PyCharm suggests to install pip, though it is already installed 2012-04-09 12:24:31 +04:00
Andrey Vlasovskikh
96a610cc25 Don't complain about transitive dependencies not being listed in requirements.txt (PY-6016) 2012-04-02 19:32:43 +04:00
Andrey Vlasovskikh
7b3a095b03 packaging_tool.py made compatible with Jython 2.2 (PY-6097) 2012-03-30 17:19:29 +04:00
Ekaterina Tuzova
1391181432 fixed PY-6067 Offer to install pip and distribute if they are not installed in the current interpreter 2012-03-26 20:21:59 +04:00
Andrey Vlasovskikh
1136fbeaac Separate error messages for missing 'pip' and 'distribute' (PY-5931) 2012-03-20 20:50:24 +04:00
Andrey Vlasovskikh
3faa5d6f76 Progress and re-index/skeletons update for install/upgrade/uninstall Python packages 2012-02-15 19:35:00 +04:00
Andrey Vlasovskikh
d44a73d8a2 Install Python packages via package requirements 2012-01-16 18:34:27 +04:00
Andrey Vlasovskikh
1b2b101c8d Fixed merge conflicts 2012-01-16 13:16:08 +04:00
Andrey Vlasovskikh
b5dea16339 Merge branch 'master' of git.labs.intellij.net:idea/ultimate 2012-01-16 12:56:06 +04:00
Ekaterina.Tuzova
82a79a426d added install/uninstall packages for python 2012-01-16 12:52:20 +04:00
Andrey Vlasovskikh
e392063877 Experimental install of Python packages, small refactoring 2012-01-13 21:18:08 +04:00
Andrey Vlasovskikh
b831a4dbe1 Removed PyPackagingTest from envtests due to problems with testing environment 2012-01-13 20:08:58 +04:00
Andrey Vlasovskikh
1a2e694a14 Delete virtualenvs using Python's rmtree() for symlinks on Windows 2012-01-13 18:29:23 +04:00
Andrey Vlasovskikh
9af2ace902 Experimental uninstall of Python packages 2012-01-13 16:53:41 +04:00
Andrey Vlasovskikh
d165a96e64 Initial classes for Python package management 2012-01-11 16:30:22 +04:00