2024-09-27 17:55:59 发布
网友
如果我正在使用Python和其他一些包(比如virtualenv)开发共享web服务器。我可以使用virtualenv在特定目录中安装一些我需要的附加软件包,同时仍然使用系统范围内的python和软件包吗?或者更好的是,我可以在自己的目录中安装额外的python包,并将它们用于我的网站,而不需要sudo权限?在
您可以使用 system-site-packages开关在virtualenv中显式地包括所有全局安装的包:
system-site-packages
Give access to the global site-packages dir to the virtual environment
或者使用 no-site-packages开关禁用全局站点包:
no-site-packages
Don't give access to the global site-packages dir to the virtual environment
后者目前是默认值。在
我个人已经在我的全球站点包中安装了lxml,因此我们可以用它作为一个小的演示:
lxml
在
$ virtualenv nositepackages New python executable in nositepackages/bin/python Installing setuptools............done. Installing pip...c............done. $ ./nositepackages/bin/python -c 'import lxml; print lxml.__package__' Traceback (most recent call last): File "<string>", line 1, in <module> ImportError: No module named lxml $ virtualenv system-site-packages sitepackages New python executable in sitepackages/bin/python Installing setuptools............done. Installing pip...............done. $ ./sitepackages/bin/python -c 'import lxml; print lxml.__package__' lxml
你也可以把你需要的软件包复制到你有权限的目录中。然后在u init_uu.py中,您应该按如下方式修改python路径:
import sys sys.path.append("/path/to/the_dir/with_packages")
将一个名为lib的目录添加到名为python的目录中
lib
python
将新目录添加到路径/pythonpath.bashrc和.bash_配置文件中
nano ~/.bashrc然后添加export PYTHONPATH=$PYTHONPATH:~/lib/python,这将在不通过shell(例如通过网站)访问时设置您的环境
nano ~/.bashrc
export PYTHONPATH=$PYTHONPATH:~/lib/python
向.bash_profile添加相同的行,这将在您通过shell登录时控制您的环境
.bash_profile
注销终端并重新登录
echo $PYTHONPATH以确保它有您的~/lib/python文件夹
echo $PYTHONPATH
使用wget https://download或git clone package/repo下载所需的python包
wget https://download
git clone package/repo
如果您下载了一个压缩文件,请将其解压缩tar -xvf somefile.tar.bz
tar -xvf somefile.tar.bz
切换到解压缩它的目录
cd some_package\
跑设置.py带着家庭标签
python setup.py install HOME=~
测试一下
python -c "import <package>;print <package>.VERSION;"
恭喜您刚刚安装了自定义软件包:)
另一方面,我发现virtualenv是一个更健壮的解决方案,但是偶尔很难正确设置。如果你只需要一些定制的软件包。。。
您可以使用
system-site-packages
开关在virtualenv中显式地包括所有全局安装的包:或者使用
no-site-packages
开关禁用全局站点包:后者目前是默认值。在
我个人已经在我的全球站点包中安装了
lxml
,因此我们可以用它作为一个小的演示:在
你也可以把你需要的软件包复制到你有权限的目录中。然后在u init_uu.py中,您应该按如下方式修改python路径:
将一个名为
lib
的目录添加到名为python
的目录中将新目录添加到路径/pythonpath.bashrc和.bash_配置文件中
nano ~/.bashrc
然后添加export PYTHONPATH=$PYTHONPATH:~/lib/python
,这将在不通过shell(例如通过网站)访问时设置您的环境向
.bash_profile
添加相同的行,这将在您通过shell登录时控制您的环境注销终端并重新登录
echo $PYTHONPATH
以确保它有您的~/lib/python文件夹使用
wget https://download
或git clone package/repo
下载所需的python包如果您下载了一个压缩文件,请将其解压缩
tar -xvf somefile.tar.bz
切换到解压缩它的目录
cd some_package\
跑设置.py带着家庭标签
python setup.py install HOME=~
测试一下
python -c "import <package>;print <package>.VERSION;"
恭喜您刚刚安装了自定义软件包:)
另一方面,我发现virtualenv是一个更健壮的解决方案,但是偶尔很难正确设置。如果你只需要一些定制的软件包。。。
相关问题 更多 >
编程相关推荐